diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2023-05-23 17:58:32 +0200 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2023-11-28 21:30:58 +0100 |
commit | 7a3fed3f209e5113434647897c4f16a7ac3d9c01 (patch) | |
tree | b3d6dd3f736b2d7d59de5c9e2cf1d128cd22434b /tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp | |
parent | 5839aed9bdf0e44398e729c8371935d9bfe8cd87 (diff) |
QTimeZone: use new comparison helper macros
The class had operator==() and operator!=() defined as public member
functions, so use QT_CORE_REMOVED_SINCE and removed_api.cpp to get
rid of these methods and replace them with hidden friends.
Extend unit-tests by using the helper functions from QTestPrivate.
Task-number: QTBUG-104111
Change-Id: Ib9ca613005e2f1521dea5e3cd9e2baa0b47fede4
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp')
-rw-r--r-- | tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp index 6b0ce70456..c4ba809bb5 100644 --- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp +++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp @@ -4,6 +4,7 @@ #include <QTest> #include <qtimezone.h> #include <private/qtimezoneprivate_p.h> +#include <private/qcomparisontesthelper_p.h> #include <qlocale.h> @@ -24,6 +25,8 @@ private Q_SLOTS: void createTest(); void nullTest(); void assign(); + void compareCompiles(); + void compare_data(); void compare(); void timespec(); void offset(); @@ -331,19 +334,38 @@ void tst_QTimeZone::assign() #endif } -void tst_QTimeZone::compare() +void tst_QTimeZone::compareCompiles() +{ + QTestPrivate::testEqualityOperatorsCompile<QTimeZone>(); +} + +void tst_QTimeZone::compare_data() { + QTest::addColumn<QTimeZone>("left"); + QTest::addColumn<QTimeZone>("right"); + QTest::addColumn<bool>("expectedEqual"); + const QTimeZone local; const QTimeZone utc(QTimeZone::UTC); const auto secondEast = QTimeZone::fromSecondsAheadOfUtc(1); + const auto zeroOffset = QTimeZone::fromSecondsAheadOfUtc(0); + const auto durationEast = QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds{1}); + + QTest::newRow("local vs default-constructed") << local << QTimeZone() << true; + QTest::newRow("local vs UTC") << local << utc << false; + QTest::newRow("local vs secondEast") << local << secondEast << false; + QTest::newRow("secondEast vs UTC") << secondEast << utc << false; + QTest::newRow("UTC vs zeroOffset") << utc << zeroOffset << true; + QTest::newRow("secondEast vs durationEast") << secondEast << durationEast << true; +} - QCOMPARE_NE(local, utc); - QCOMPARE_NE(utc, secondEast); - QCOMPARE_NE(secondEast, local); +void tst_QTimeZone::compare() +{ + QFETCH(QTimeZone, left); + QFETCH(QTimeZone, right); + QFETCH(bool, expectedEqual); - QCOMPARE(local, QTimeZone()); - QCOMPARE(utc, QTimeZone::fromSecondsAheadOfUtc(0)); - QCOMPARE(secondEast, QTimeZone::fromDurationAheadOfUtc(std::chrono::seconds{1})); + QTestPrivate::testEqualityOperators(left, right, expectedEqual); } void tst_QTimeZone::timespec() |