summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/tools/qdatetime/main.cpp
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2013-02-11 13:44:37 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-23 01:14:03 +0200
commit55f5b29d7975d7e642ec258e44ca23726e1dfa0d (patch)
treea962c946ed58690d67bba1982556f3cb97545969 /tests/benchmarks/corelib/tools/qdatetime/main.cpp
parent8af776d4140c19baccb8e2767ed8b57cc79ccb06 (diff)
QDateTime - Add QTimeZone support
Add support to QDateTime for time zones using the new QTimeZone class. [ChangeLog][QtCore][QDateTime] Add support for a new Qt::TimeZone spec to be used with QTimeZone to define times in a specific time zone. Change-Id: I21bfa52a8ba8989b55bb74e025d1f2b2b623b2a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/benchmarks/corelib/tools/qdatetime/main.cpp')
-rw-r--r--tests/benchmarks/corelib/tools/qdatetime/main.cpp91
1 files changed, 90 insertions, 1 deletions
diff --git a/tests/benchmarks/corelib/tools/qdatetime/main.cpp b/tests/benchmarks/corelib/tools/qdatetime/main.cpp
index 9da6611ec0..8550ef6cb2 100644
--- a/tests/benchmarks/corelib/tools/qdatetime/main.cpp
+++ b/tests/benchmarks/corelib/tools/qdatetime/main.cpp
@@ -39,7 +39,8 @@
**
****************************************************************************/
-#include <QLocale>
+#include <QDateTime>
+#include <QTimeZone>
#include <QTest>
#include <qdebug.h>
@@ -71,21 +72,27 @@ private Q_SLOTS:
void toMSecsSinceEpoch();
void toMSecsSinceEpoch1950();
void toMSecsSinceEpoch2050();
+ void toMSecsSinceEpochTz();
+ void toMSecsSinceEpoch1950Tz();
+ void toMSecsSinceEpoch2050Tz();
void toTime_t();
void setDate();
void setTime();
void setTimeSpec();
void setOffsetFromUtc();
void setMSecsSinceEpoch();
+ void setMSecsSinceEpochTz();
void setTime_t();
void toString();
void toStringTextFormat();
void toStringIsoFormat();
void addDays();
+ void addDaysTz();
void addMonths();
void addYears();
void addSecs();
void addMSecs();
+ void addMSecsTz();
void toTimeSpec();
void toOffsetFromUtc();
void daysTo();
@@ -106,6 +113,7 @@ private Q_SLOTS:
void fromTime_t();
void fromMSecsSinceEpoch();
void fromMSecsSinceEpochUtc();
+ void fromMSecsSinceEpochTz();
};
void tst_QDateTime::create()
@@ -228,6 +236,42 @@ void tst_QDateTime::toMSecsSinceEpoch2050()
}
}
+void tst_QDateTime::toMSecsSinceEpochTz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (const QDateTime &test, list)
+ qint64 result = test.toMSecsSinceEpoch();
+ }
+}
+
+void tst_QDateTime::toMSecsSinceEpoch1950Tz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_1950; jd < JULIAN_DAY_1960; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (const QDateTime &test, list)
+ qint64 result = test.toMSecsSinceEpoch();
+ }
+}
+
+void tst_QDateTime::toMSecsSinceEpoch2050Tz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_2050; jd < JULIAN_DAY_2060; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (const QDateTime &test, list)
+ qint64 result = test.toMSecsSinceEpoch();
+ }
+}
+
void tst_QDateTime::toTime_t()
{
QList<QDateTime> list;
@@ -295,6 +339,18 @@ void tst_QDateTime::setMSecsSinceEpoch()
}
}
+void tst_QDateTime::setMSecsSinceEpochTz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (QDateTime test, list)
+ test.setMSecsSinceEpoch((JULIAN_DAY_2010 + 180) * MSECS_PER_DAY);
+ }
+}
+
void tst_QDateTime::setTime_t()
{
time_t secs = time_t(JULIAN_DAY_2010 + 180) * SECS_PER_DAY;
@@ -351,6 +407,18 @@ void tst_QDateTime::addDays()
}
}
+void tst_QDateTime::addDaysTz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (const QDateTime &test, list)
+ QDateTime result = test.addDays(1);
+ }
+}
+
void tst_QDateTime::addMonths()
{
QList<QDateTime> list;
@@ -395,6 +463,18 @@ void tst_QDateTime::addMSecs()
}
}
+void tst_QDateTime::addMSecsTz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QList<QDateTime> list;
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ list.append(QDateTime(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0), cet));
+ QBENCHMARK {
+ foreach (const QDateTime &test, list)
+ QDateTime result = test.addMSecs(1);
+ }
+}
+
void tst_QDateTime::toTimeSpec()
{
QList<QDateTime> list;
@@ -601,6 +681,15 @@ void tst_QDateTime::fromMSecsSinceEpochUtc()
}
}
+void tst_QDateTime::fromMSecsSinceEpochTz()
+{
+ QTimeZone cet = QTimeZone("Europe/Oslo");
+ QBENCHMARK {
+ for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd)
+ QDateTime test = QDateTime::fromMSecsSinceEpoch(jd * MSECS_PER_DAY, cet);
+ }
+}
+
QTEST_MAIN(tst_QDateTime)
#include "main.moc"