diff options
-rw-r--r-- | src/testlib/qtestcase.cpp | 51 | ||||
-rw-r--r-- | src/testlib/qtestcase.h | 28 | ||||
-rw-r--r-- | src/testlib/qtestresult.cpp | 26 | ||||
-rw-r--r-- | src/testlib/qtestresult_p.h | 15 |
4 files changed, 120 insertions, 0 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 52eb04b109..990fc5679d 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -2587,6 +2587,57 @@ bool QTest::qCompare(unsigned t1, unsigned t2, const char *actual, const char *e t1, t2, actual, expected, file, line); } +/*! \fn bool QTest::qCompare(QStringView t1, QStringView t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ +bool QTest::qCompare(QStringView t1, QStringView t2, const char *actual, const char *expected, + const char *file, int line) +{ + return QTestResult::compare(t1 == t2, + "Compared values are not the same", + t1, t2, actual, expected, file, line); +} + +/*! \fn bool QTest::qCompare(QStringView t1, const QLatin1String &t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ +bool QTest::qCompare(QStringView t1, const QLatin1String &t2, const char *actual, const char *expected, + const char *file, int line) +{ + return QTestResult::compare(t1 == t2, + "Compared values are not the same", + t1, t2, actual, expected, file, line); +} + +/*! \fn bool QTest::qCompare(const QLatin1String &t1, QStringView t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ +bool QTest::qCompare(const QLatin1String &t1, QStringView t2, const char *actual, const char *expected, + const char *file, int line) +{ + return QTestResult::compare(t1 == t2, + "Compared values are not the same", + t1, t2, actual, expected, file, line); +} + +/*! \fn bool QTest::qCompare(const QString &t1, const QString &t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ + +/*! \fn bool QTest::qCompare(const QString &t1, const QLatin1String &t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ + +/*! \fn bool QTest::qCompare(const QLatin1String &t1, const QString &t2, const char *actual, const char *expected, const char *file, int line) + \internal + \since 5.14 + */ + /*! \fn bool QTest::qCompare(const double &t1, const float &t2, const char *actual, const char *expected, const char *file, int line) \internal */ diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index 40afac37c5..e61e450e98 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -369,6 +369,34 @@ namespace QTest Q_TESTLIB_EXPORT bool qCompare(unsigned t1, unsigned t2, const char *actual, const char *expected, const char *file, int line); + Q_TESTLIB_EXPORT bool qCompare(QStringView t1, QStringView t2, + const char *actual, const char *expected, + const char *file, int line); + Q_TESTLIB_EXPORT bool qCompare(QStringView t1, const QLatin1String &t2, + const char *actual, const char *expected, + const char *file, int line); + Q_TESTLIB_EXPORT bool qCompare(const QLatin1String &t1, QStringView t2, + const char *actual, const char *expected, + const char *file, int line); + inline bool qCompare(const QString &t1, const QString &t2, + const char *actual, const char *expected, + const char *file, int line) + { + return qCompare(QStringView(t1), QStringView(t2), actual, expected, file, line); + } + inline bool qCompare(const QString &t1, const QLatin1String &t2, + const char *actual, const char *expected, + const char *file, int line) + { + return qCompare(QStringView(t1), t2, actual, expected, file, line); + } + inline bool qCompare(const QLatin1String &t1, const QString &t2, + const char *actual, const char *expected, + const char *file, int line) + { + return qCompare(t1, QStringView(t2), actual, expected, file, line); + } + inline bool compare_ptr_helper(const volatile void *t1, const volatile void *t2, const char *actual, const char *expected, const char *file, int line) { diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp index eeae7ef0f4..88028aac6e 100644 --- a/src/testlib/qtestresult.cpp +++ b/src/testlib/qtestresult.cpp @@ -39,8 +39,10 @@ #include <QtTest/private/qtestresult_p.h> #include <QtCore/qglobal.h> +#include <QtCore/qstringview.h> #include <QtTest/private/qtestlog_p.h> +#include <QtTest/qtest.h> // toString() specializations for QStringView #include <QtTest/qtestdata.h> #include <QtTest/qtestcase.h> #include <QtTest/qtestassert.h> @@ -389,6 +391,30 @@ bool QTestResult::compare(bool success, const char *failureMsg, return compareHelper(success, failureMsg, val1, val2, actual, expected, file, line); } +bool QTestResult::compare(bool success, const char *failureMsg, + QStringView val1, QStringView val2, + const char *actual, const char *expected, + const char *file, int line) +{ + return compareHelper(success, failureMsg, val1, val2, actual, expected, file, line); +} + +bool QTestResult::compare(bool success, const char *failureMsg, + QStringView val1, const QLatin1String &val2, + const char *actual, const char *expected, + const char *file, int line) +{ + return compareHelper(success, failureMsg, val1, val2, actual, expected, file, line); +} + +bool QTestResult::compare(bool success, const char *failureMsg, + const QLatin1String & val1, QStringView val2, + const char *actual, const char *expected, + const char *file, int line) +{ + return compareHelper(success, failureMsg, val1, val2, actual, expected, file, line); +} + void QTestResult::addFailure(const char *message, const char *file, int line) { clearExpectFail(); diff --git a/src/testlib/qtestresult_p.h b/src/testlib/qtestresult_p.h index 92f98bb047..38a3024a0f 100644 --- a/src/testlib/qtestresult_p.h +++ b/src/testlib/qtestresult_p.h @@ -55,6 +55,9 @@ QT_BEGIN_NAMESPACE +class QLatin1String; +class QStringView; + class QTestResultPrivate; class QTestData; @@ -95,6 +98,18 @@ public: unsigned val1, unsigned val2, const char *actual, const char *expected, const char *file, int line); + static bool compare(bool success, const char *failureMsg, + QStringView val1, QStringView val2, + const char *actual, const char *expected, + const char *file, int line); + static bool compare(bool success, const char *failureMsg, + const QLatin1String &val1, QStringView val2, + const char *actual, const char *expected, + const char *file, int line); + static bool compare(bool success, const char *failureMsg, + QStringView val1, const QLatin1String &val2, + const char *actual, const char *expected, + const char *file, int line); static void setCurrentGlobalTestData(QTestData *data); static void setCurrentTestData(QTestData *data); static void setCurrentTestFunction(const char *func); |