QtTest: Add QHostAddress support for QCOMPARE failures
authorThiago Macieira <thiago.macieira@intel.com>
Tue, 17 Mar 2015 23:42:51 +0000 (08:42 +0900)
committerThiago Macieira <thiago.macieira@intel.com>
Sat, 15 Aug 2015 04:35:34 +0000 (04:35 +0000)
Change-Id: Iee8cbc07c4434ce9b560ffff13cc6dad04a5a554
Reviewed-by: Richard J. Moore <rich@kde.org>
src/testlib/qtest.h
tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp

index 1d8b19590748277de50d1b0226039a05b1ec743c..8da16af91e21d31cfd4ea01936fc4f0a71e4745f 100644 (file)
@@ -51,6 +51,9 @@
 #include <QtCore/qsize.h>
 #include <QtCore/qrect.h>
 
+#ifdef QT_NETWORK_LIB
+#  include <QtNetwork/qhostaddress.h>
+#endif
 
 QT_BEGIN_NAMESPACE
 
@@ -162,6 +165,23 @@ template<> inline char *toString(const QVariant &v)
     return qstrdup(vstring.constData());
 }
 
+#ifdef QT_NETWORK_LIB
+template<> inline char *toString(const QHostAddress &addr)
+{
+    switch (addr.protocol()) {
+    case QAbstractSocket::UnknownNetworkLayerProtocol:
+        return qstrdup("<unknown address (parse error)>");
+    case QAbstractSocket::AnyIPProtocol:
+        return qstrdup("QHostAddress::Any");
+    case QAbstractSocket::IPv4Protocol:
+    case QAbstractSocket::IPv6Protocol:
+        break;
+    }
+
+    return qstrdup(addr.toString().toLatin1().constData());
+}
+#endif
+
 template<>
 inline bool qCompare(QString const &t1, QLatin1String const &t2, const char *actual,
                     const char *expected, const char *file, int line)
index e074ecae1d16327697a5dbf8e183d6ce02b25f64..dbb27b955affd5c87c4b1faeaff27c897e16c344 100644 (file)
@@ -87,18 +87,6 @@ private slots:
     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()
 {
 }