summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2023-05-23 17:58:32 +0200
committerIvan Solovev <ivan.solovev@qt.io>2023-11-28 21:30:58 +0100
commit7a3fed3f209e5113434647897c4f16a7ac3d9c01 (patch)
treeb3d6dd3f736b2d7d59de5c9e2cf1d128cd22434b /tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
parent5839aed9bdf0e44398e729c8371935d9bfe8cd87 (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.cpp36
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()