diff options
Diffstat (limited to 'tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp')
-rw-r--r-- | tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp | 74 |
1 files changed, 56 insertions, 18 deletions
diff --git a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp index ef24cbf3c8..8069865d93 100644 --- a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp +++ b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp @@ -83,22 +83,12 @@ private slots: void isInSubnet(); void isLoopback_data(); void isLoopback(); + void isMulticast_data(); + void isMulticast(); void convertv4v6_data(); void convertv4v6(); }; -QT_BEGIN_NAMESPACE -namespace QTest { - template<> - char *toString(const QHostAddress &addr) - { - if (addr.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) - return qstrdup("<invalid>"); - return qstrdup(addr.toString().toLatin1()); - } -} -QT_END_NAMESPACE - tst_QHostAddress::tst_QHostAddress() { } @@ -234,7 +224,7 @@ void tst_QHostAddress::setAddress_QString() QFETCH(int, protocol); QHostAddress hostAddr; - QVERIFY(hostAddr.setAddress(address) == ok); + QCOMPARE(hostAddr.setAddress(address), ok); if (ok) QTEST(hostAddr.toString(), "resAddr"); @@ -316,7 +306,7 @@ void tst_QHostAddress::compare_data() QTest::newRow("6") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::LocalHostIPv6) << false; QTest::newRow("7") << QHostAddress() << QHostAddress(QHostAddress::LocalHostIPv6) << false; - Q_IPV6ADDR localhostv4mapped = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 127, 0, 0, 1 }; + Q_IPV6ADDR localhostv4mapped = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 127, 0, 0, 1 } }; QTest::newRow("v4-v4mapped") << QHostAddress(QHostAddress::LocalHost) << QHostAddress("::ffff:127.0.0.1") << false; QTest::newRow("v4-v4mapped-2") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(localhostv4mapped) << false; } @@ -330,7 +320,7 @@ void tst_QHostAddress::compare() QCOMPARE(first == second, result); QCOMPARE(second == first, result); if (result == true) - QVERIFY(qHash(first) == qHash(second)); + QCOMPARE(qHash(first), qHash(second)); } void tst_QHostAddress::assignment() @@ -399,11 +389,11 @@ void tst_QHostAddress::streaming() QByteArray ba; QDataStream ds1(&ba, QIODevice::WriteOnly); ds1 << address; - QVERIFY(ds1.status() == QDataStream::Ok); + QCOMPARE(ds1.status(), QDataStream::Ok); QDataStream ds2(&ba, QIODevice::ReadOnly); QHostAddress address2; ds2 >> address2; - QVERIFY(ds2.status() == QDataStream::Ok); + QCOMPARE(ds2.status(), QDataStream::Ok); QCOMPARE(address, address2); } @@ -631,6 +621,9 @@ void tst_QHostAddress::isLoopback_data() QTest::addColumn<QHostAddress>("address"); QTest::addColumn<bool>("result"); + QTest::newRow("default") << QHostAddress() << false; + QTest::newRow("invalid") << QHostAddress("&&&") << false; + QTest::newRow("ipv6_loop") << QHostAddress(QHostAddress::LocalHostIPv6) << true; QTest::newRow("::1") << QHostAddress("::1") << true; @@ -639,7 +632,6 @@ void tst_QHostAddress::isLoopback_data() QTest::newRow("127.0.0.2") << QHostAddress("127.0.0.2") << true; QTest::newRow("127.3.2.1") << QHostAddress("127.3.2.1") << true; - QTest::newRow("default") << QHostAddress() << false; QTest::newRow("1.2.3.4") << QHostAddress("1.2.3.4") << false; QTest::newRow("10.0.0.4") << QHostAddress("10.0.0.4") << false; QTest::newRow("192.168.3.4") << QHostAddress("192.168.3.4") << false; @@ -650,10 +642,12 @@ void tst_QHostAddress::isLoopback_data() QTest::newRow("AnyIPv6") << QHostAddress(QHostAddress::AnyIPv6) << false; QTest::newRow("Broadcast") << QHostAddress(QHostAddress::Broadcast) << false; QTest::newRow("Null") << QHostAddress(QHostAddress::Null) << false; + QTest::newRow("ipv6-all-ffff") << QHostAddress("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << false; QTest::newRow("::ffff:127.0.0.1") << QHostAddress("::ffff:127.0.0.1") << true; QTest::newRow("::ffff:127.0.0.2") << QHostAddress("::ffff:127.0.0.2") << true; QTest::newRow("::ffff:127.3.2.1") << QHostAddress("::ffff:127.3.2.1") << true; + } void tst_QHostAddress::isLoopback() @@ -664,6 +658,50 @@ void tst_QHostAddress::isLoopback() QCOMPARE(address.isLoopback(), result); } +void tst_QHostAddress::isMulticast_data() +{ + QTest::addColumn<QHostAddress>("address"); + QTest::addColumn<bool>("result"); + + QTest::newRow("default") << QHostAddress() << false; + QTest::newRow("invalid") << QHostAddress("&&&") << false; + + QTest::newRow("ipv6_loop") << QHostAddress(QHostAddress::LocalHostIPv6) << false; + QTest::newRow("::1") << QHostAddress("::1") << false; + QTest::newRow("ipv4_loop") << QHostAddress(QHostAddress::LocalHost) << false; + QTest::newRow("127.0.0.1") << QHostAddress("127.0.0.1") << false; + QTest::newRow("::") << QHostAddress("::") << false; + QTest::newRow("Any") << QHostAddress(QHostAddress::Any) << false; + QTest::newRow("AnyIPv4") << QHostAddress(QHostAddress::AnyIPv4) << false; + QTest::newRow("AnyIPv6") << QHostAddress(QHostAddress::AnyIPv6) << false; + QTest::newRow("Broadcast") << QHostAddress(QHostAddress::Broadcast) << false; + QTest::newRow("Null") << QHostAddress(QHostAddress::Null) << false; + + QTest::newRow("223.255.255.255") << QHostAddress("223.255.255.255") << false; + QTest::newRow("224.0.0.0") << QHostAddress("224.0.0.0") << true; + QTest::newRow("239.255.255.255") << QHostAddress("239.255.255.255") << true; + QTest::newRow("240.0.0.0") << QHostAddress("240.0.0.0") << false; + + QTest::newRow("::ffff:223.255.255.255") << QHostAddress("::ffff:223.255.255.255") << false; + QTest::newRow("::ffff:224.0.0.0") << QHostAddress("::ffff:224.0.0.0") << true; + QTest::newRow("::ffff:239.255.255.255") << QHostAddress("::ffff:239.255.255.255") << true; + QTest::newRow("::ffff:240.0.0.0") << QHostAddress("::ffff:240.0.0.0") << false; + + QTest::newRow("fc00::") << QHostAddress("fc00::") << false; + QTest::newRow("fe80::") << QHostAddress("fe80::") << false; + QTest::newRow("fec0::") << QHostAddress("fec0::") << false; + QTest::newRow("ff00::") << QHostAddress("ff00::") << true; + QTest::newRow("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << QHostAddress("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << true; +} + +void tst_QHostAddress::isMulticast() +{ + QFETCH(QHostAddress, address); + QFETCH(bool, result); + + QCOMPARE(address.isMulticast(), result); +} + void tst_QHostAddress::convertv4v6_data() { QTest::addColumn<QHostAddress>("source"); |