diff options
Diffstat (limited to 'src/testlib')
-rw-r--r-- | src/testlib/qsignaldumper.cpp | 7 | ||||
-rw-r--r-- | src/testlib/qsignalspy.h | 4 | ||||
-rw-r--r-- | src/testlib/qtest.h | 4 | ||||
-rw-r--r-- | src/testlib/qtest_global.h | 5 | ||||
-rw-r--r-- | src/testlib/qtest_gui.h | 4 | ||||
-rw-r--r-- | src/testlib/qtestcase.cpp | 11 | ||||
-rw-r--r-- | src/testlib/qtestcase.h | 20 |
7 files changed, 13 insertions, 42 deletions
diff --git a/src/testlib/qsignaldumper.cpp b/src/testlib/qsignaldumper.cpp index 4fd870b644..c7b9f31b84 100644 --- a/src/testlib/qsignaldumper.cpp +++ b/src/testlib/qsignaldumper.cpp @@ -66,7 +66,7 @@ enum { IndentSpacesCount = 4 }; static QByteArray memberName(const QMetaMethod &member) { - QByteArray ba = member.signature(); + QByteArray ba = member.methodSignature(); return ba.left(ba.indexOf('(')); } @@ -112,7 +112,8 @@ static void qSignalDumperCallback(QObject *caller, int method_index, void **argv quintptr addr = quintptr(*reinterpret_cast<void **>(argv[i + 1])); str.append(QByteArray::number(addr, 16)); - } else if (typeId != QMetaType::Void) { + } else if (typeId != QMetaType::UnknownType) { + Q_ASSERT(typeId != QMetaType::Void); // void parameter => metaobject is corrupt str.append(arg) .append('(') .append(QVariant(typeId, argv[i + 1]).toString().toLocal8Bit()) @@ -152,7 +153,7 @@ static void qSignalDumperCallbackSlot(QObject *caller, int method_index, void ** str += QByteArray::number(quintptr(caller), 16); str += ") "; - str += member.signature(); + str += member.methodSignature(); qPrintMessage(str); } diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index eb52ebf706..70944baadf 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -122,9 +122,11 @@ private: QList<QByteArray> params = member.parameterTypes(); for (int i = 0; i < params.count(); ++i) { int tp = QMetaType::type(params.at(i).constData()); - if (tp == QMetaType::Void) + if (tp == QMetaType::UnknownType) { + Q_ASSERT(tp != QMetaType::Void); // void parameter => metaobject is corrupt qWarning("Don't know how to handle '%s', use qRegisterMetaType to register it.", params.at(i).constData()); + } args << tp; } } diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index d167324aef..392e223e39 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -169,17 +169,13 @@ template<> inline char *toString(const QVariant &v) return qstrdup(vstring.constData()); } -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(QString const &t1, QLatin1String const &t2, const char *actual, const char *expected, const char *file, int line) { return qCompare<QString>(t1, QString(t2), actual, expected, file, line); } -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(QLatin1String const &t1, QString const &t2, const char *actual, const char *expected, const char *file, int line) { diff --git a/src/testlib/qtest_global.h b/src/testlib/qtest_global.h index 27a6801db9..b567fe7c00 100644 --- a/src/testlib/qtest_global.h +++ b/src/testlib/qtest_global.h @@ -59,11 +59,6 @@ QT_BEGIN_NAMESPACE # endif #endif -#if defined (Q_CC_SUN) || defined (Q_CC_XLC) -# define QTEST_NO_SPECIALIZATIONS -#endif - - #if (defined Q_CC_HPACC) && (defined __ia64) # ifdef Q_TESTLIB_EXPORT # undef Q_TESTLIB_EXPORT diff --git a/src/testlib/qtest_gui.h b/src/testlib/qtest_gui.h index f10ddd8473..24abd00e0f 100644 --- a/src/testlib/qtest_gui.h +++ b/src/testlib/qtest_gui.h @@ -88,9 +88,7 @@ inline bool qCompare(QIcon const &t1, QIcon const &t2, const char *actual, const } #endif -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(QImage const &t1, QImage const &t2, const char *actual, const char *expected, const char *file, int line) { @@ -125,9 +123,7 @@ inline bool qCompare(QImage const &t1, QImage const &t2, toString(t1), toString(t2), actual, expected, file, line); } -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(QPixmap const &t1, QPixmap const &t2, const char *actual, const char *expected, const char *file, int line) { diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 001a14a121..fb9a8e630c 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -1067,7 +1067,8 @@ static bool isValidSlot(const QMetaMethod &sl) if (sl.access() != QMetaMethod::Private || !sl.parameterTypes().isEmpty() || qstrlen(sl.typeName()) || sl.methodType() != QMetaMethod::Slot) return false; - const char *sig = sl.signature(); + QByteArray signature = sl.methodSignature(); + const char *sig = signature.constData(); int len = qstrlen(sig); if (len < 2) return false; @@ -1090,7 +1091,7 @@ static void qPrintTestSlots(FILE *stream) for (int i = 0; i < QTest::currentTestObject->metaObject()->methodCount(); ++i) { QMetaMethod sl = QTest::currentTestObject->metaObject()->method(i); if (isValidSlot(sl)) - fprintf(stream, "%s\n", sl.signature()); + fprintf(stream, "%s\n", sl.methodSignature().constData()); } } @@ -1115,7 +1116,7 @@ static void qPrintDataTags(FILE *stream) // Retrieve local tags: QStringList localTags; QTestTable table; - char *slot = qstrdup(tf.signature()); + char *slot = qstrdup(tf.methodSignature().constData()); slot[strlen(slot) - 2] = '\0'; QByteArray member; member.resize(qstrlen(slot) + qstrlen("_data()") + 1); @@ -1787,7 +1788,7 @@ static void qInvokeTestMethods(QObject *testObject) if (QTest::testFuncs) { for (int i = 0; i != QTest::testFuncCount; i++) { - if (!qInvokeTestMethod(metaObject->method(QTest::testFuncs[i].function()).signature(), + if (!qInvokeTestMethod(metaObject->method(QTest::testFuncs[i].function()).methodSignature().constData(), QTest::testFuncs[i].data())) { break; } @@ -1801,7 +1802,7 @@ static void qInvokeTestMethods(QObject *testObject) for (int i = 0; i != methodCount; i++) { if (!isValidSlot(testMethods[i])) continue; - if (!qInvokeTestMethod(testMethods[i].signature())) + if (!qInvokeTestMethod(testMethods[i].methodSignature().constData())) break; } delete[] testMethods; diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index a344736f7b..acd494965e 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -256,7 +256,6 @@ namespace QTest QTEST_COMPARE_DECL(bool) #endif -#ifndef QTEST_NO_SPECIALIZATIONS template <typename T1, typename T2> bool qCompare(T1 const &, T2 const &, const char *, const char *, const char *, int); @@ -312,34 +311,17 @@ namespace QTest { return compare_string_helper(t1, t2, actual, expected, file, line); } -#else /* QTEST_NO_SPECIALIZATIONS */ - inline bool qCompare(const char *t1, const char *t2, const char *actual, - const char *expected, const char *file, int line) - { - return compare_string_helper(t1, t2, actual, expected, file, line); - } - - inline bool qCompare(char *t1, char *t2, const char *actual, const char *expected, - const char *file, int line) - { - return compare_string_helper(t1, t2, actual, expected, file, line); - } -#endif /* The next two specializations are for MSVC that shows problems with implicit conversions */ -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(char *t1, const char *t2, const char *actual, const char *expected, const char *file, int line) { return compare_string_helper(t1, t2, actual, expected, file, line); } -#ifndef QTEST_NO_SPECIALIZATIONS template<> -#endif inline bool qCompare(const char *t1, char *t2, const char *actual, const char *expected, const char *file, int line) { @@ -347,9 +329,7 @@ namespace QTest } // NokiaX86 and RVCT do not like implicitly comparing bool with int -#ifndef QTEST_NO_SPECIALIZATIONS template <> -#endif inline bool qCompare(bool const &t1, int const &t2, const char *actual, const char *expected, const char *file, int line) { |