summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp')
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
index 264625777f..9eae1f10ea 100644
--- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -262,6 +262,8 @@ private slots:
void timeSpec();
void timeSpecBug();
void timeSpecInit();
+ void setDateTime_data();
+ void setDateTime();
void monthEdgeCase();
void setLocale();
@@ -3476,6 +3478,54 @@ void tst_QDateTimeEdit::timeSpecInit()
QCOMPARE(widget.dateTime(), utc);
}
+void tst_QDateTimeEdit::setDateTime_data()
+{
+ QTest::addColumn<Qt::TimeSpec>("spec");
+ QDateTime localNoon(QDate(2019, 12, 24), QTime(12, 0), Qt::LocalTime);
+#if 0 // Not yet supported
+ QTest::addColumn<int>("offset");
+ QTest::addColumn<QByteArray>("zoneName");
+
+ QTest::newRow("OffsetFromUTC/LocalTime")
+ << Qt::OffsetFromUTC << 7200 << ""
+ << localNoon << localNoon.toOffsetFromUtc(7200);
+#if QT_CONFIG(timezone)
+ QTest::newRow("TimeZone/LocalTime")
+ << Qt::TimeZone << 0 << "Europe/Berlin"
+ << localNoon << localNoon.toTimeZone(QTimeZone("Europe/Berlin"));
+#endif
+#endif // unsupported
+ QTest::addColumn<QDateTime>("store");
+ QTest::addColumn<QDateTime>("expect");
+ QTest::newRow("LocalTime/LocalTime")
+ << Qt::LocalTime // << 0 << ""
+ << localNoon << localNoon;
+ QTest::newRow("LocalTime/UTC")
+ << Qt::LocalTime // << 0 << ""
+ << localNoon.toUTC() << localNoon;
+ QTest::newRow("UTC/LocalTime")
+ << Qt::UTC // << 0 << ""
+ << localNoon << localNoon.toUTC();
+ QTest::newRow("UTC/UTC")
+ << Qt::UTC // << 0 << ""
+ << localNoon.toUTC() << localNoon.toUTC();
+}
+
+void tst_QDateTimeEdit::setDateTime()
+{
+ QFETCH(const Qt::TimeSpec, spec);
+#if 0 // Not yet supported
+ QFETCH(const int, offset);
+ QFETCH(const QByteArray, zoneName);
+#endif // configuring the spec, when OffsetFromUTC or TimeZone
+ QFETCH(const QDateTime, store);
+ QFETCH(const QDateTime, expect);
+ QDateTimeEdit editor;
+ editor.setTimeSpec(spec);
+ editor.setDateTime(store);
+ QCOMPARE(editor.dateTime(), expect);
+}
+
void tst_QDateTimeEdit::cachedDayTest()
{
testWidget->setDisplayFormat("MM/dd");