summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@theqtcompany.com>2015-11-04 12:25:49 +0100
committerEdward Welbourne <edward.welbourne@theqtcompany.com>2016-01-26 13:50:09 +0000
commite08fe31f555f75e834c550b38bfd8a86b1567928 (patch)
treee56206285e14833120bfbe148eb8b8627bd27a42 /tests/auto
parent4970a436761f69608a030e27b9b8102e94a3f4f0 (diff)
Add DST-change test for a date derived via .toLocalTime().
Uses a time derived via .toUTC() to ensure the .toLocalTime() comes out at the time we expect. Task-number: QTBUG-49008 Change-Id: I2005127929c7eab1b7a3cbaba8d21df8c9585d17 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index 0fb43b7fe8..1078aef6ad 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -1689,6 +1689,30 @@ void tst_QDateTime::daylightSavingsTimeChange()
// back again:
dt = dt.addDays(-days).addSecs(60);
QCOMPARE(dt, QDateTime(inDST, QTime(0, 5, 0)));
+
+ // Now use the result of a UTC -> LocalTime conversion
+ dt = QDateTime(outDST, QTime(0, 0, 0), Qt::LocalTime).toUTC();
+ dt = QDateTime(dt.date(), dt.time(), Qt::UTC).toLocalTime();
+ QCOMPARE(dt, QDateTime(outDST, QTime(0, 0, 0)));
+
+ // using addDays:
+ dt = dt.addDays(-days).addSecs(3600);
+ QCOMPARE(dt, QDateTime(inDST, QTime(1, 0, 0)));
+ // back again
+ dt = dt.addDays(days).addSecs(3600);
+ QCOMPARE(dt, QDateTime(outDST, QTime(2, 0, 0)));
+
+ // using addMonths:
+ dt = dt.addMonths(-months).addSecs(3600);
+ QCOMPARE(dt, QDateTime(inDST, QTime(3, 0, 0)));
+ // back again:
+ dt = dt.addMonths(months).addSecs(3600);
+ QCOMPARE(dt, QDateTime(outDST, QTime(4, 0, 0)));
+
+ // using setDate:
+ dt.setDate(inDST);
+ dt = dt.addSecs(3600);
+ QCOMPARE(dt, QDateTime(inDST, QTime(5, 0, 0)));
}
void tst_QDateTime::springForward_data()