diff options
author | John Layt <jlayt@kde.org> | 2013-08-09 00:14:38 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-14 18:31:00 +0200 |
commit | e76c312eb84cb5d9971b024c411472dda4bbf8aa (patch) | |
tree | bca848d42af36d7858bbf1acefbc88e6e9496b87 /tests/auto | |
parent | f6e6dde369be8428b074c7135096b73248bdc8ae (diff) |
QDateTime - Switch to using msecs based functions
A number of QDateTime functions directly use or modify the data stored
in the private, but future changes to store msecs and status make this
maintenance more complicated. Where possible simplify this code to use
the standard msecs functions, standard constructors, or public api
instead. This greatly simplifies the functions and the following msecs
storage code changes.
This is an intermim step towards storing the time in msecs. Some
functions will be slower as a result of this change, optimization
will take place after all the msecs changes are completed.
Note this also removes a test that used valid QDates outside the range
of msecs, this change in behavior will be documented in the final
mscs change.
Change-Id: I6ef710f24babc7024091010064082e9be0b5bbfe
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp index 6c2fffb51d..85bc8abc52 100644 --- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp @@ -1106,14 +1106,6 @@ void tst_QDateTime::toTimeSpec_data() << QDateTime(QDate(-271821, 4, 21), QTime(0, 0, 0), Qt::LocalTime); #endif - QTest::newRow("QDate min") - << QDateTime(QDate::fromJulianDay(minJd()), QTime(0, 0, 0), Qt::UTC) - << QDateTime(QDate::fromJulianDay(minJd()), QTime(1, 0, 0), Qt::LocalTime); - - QTest::newRow("QDate max") - << QDateTime(QDate::fromJulianDay(maxJd()), QTime(22, 59, 59), Qt::UTC) - << QDateTime(QDate::fromJulianDay(maxJd()), QTime(23, 59, 59), Qt::LocalTime); - if (europeanTimeZone) { QTest::newRow("summer1") << QDateTime(QDate(2004, 6, 30), utcTime, Qt::UTC) << QDateTime(QDate(2004, 6, 30), localDaylightTime, Qt::LocalTime); @@ -2683,6 +2675,10 @@ void tst_QDateTime::daylightTransitions() const QVERIFY(test.isValid()); QCOMPARE(test.date(), QDate(2012, 10, 28)); QCOMPARE(test.time(), QTime(2, 0, 0)); +#ifdef Q_OS_WIN + // Windows uses SecondOccurrence + QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue); +#endif // Q_OS_WIN QCOMPARE(test.toMSecsSinceEpoch(), standard2012 - msecsOneHour); // Add hour to tran FirstOccurrence to get to tran SecondOccurrence @@ -2695,10 +2691,11 @@ void tst_QDateTime::daylightTransitions() const QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue); #endif // Q_OS_WIN QCOMPARE(test.time(), QTime(2, 0, 0)); -#ifdef Q_OS_WIN +#ifndef Q_OS_MAC // Windows uses SecondOccurrence + // Linux mktime bug uses last calculation QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue); -#endif // Q_OS_WIN +#endif // Q_OS_MAC QCOMPARE(test.toMSecsSinceEpoch(), standard2012); // Add hour to tran SecondOccurrence to get to after tran FirstOccurrence @@ -2706,15 +2703,17 @@ void tst_QDateTime::daylightTransitions() const test = test.addMSecs(msecsOneHour); QVERIFY(test.isValid()); QCOMPARE(test.date(), QDate(2012, 10, 28)); -#ifdef Q_OS_MAC +#ifndef Q_OS_WIN // Mac uses FirstOccurrence + // Linux mktime bug uses last calculation QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue); -#endif // Q_OS_MAC +#endif // Q_OS_WIN QCOMPARE(test.time(), QTime(3, 0, 0)); -#ifdef Q_OS_MAC +#ifndef Q_OS_WIN // Mac uses FirstOccurrence + // Linux mktime bug uses last calculation QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue); -#endif // Q_OS_MAC +#endif // Q_OS_WIN QCOMPARE(test.toMSecsSinceEpoch(), standard2012 + msecsOneHour); } else { |