Add test for ISODate change in QDateTime::toString
authorJens Georg <jensg@openismus.com>
Wed, 13 Apr 2011 08:14:46 +0000 (10:14 +0200)
committerOlivier Goffart <olivier.goffart@nokia.com>
Tue, 10 May 2011 10:54:50 +0000 (12:54 +0200)
Merge-request: 1149
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
(cherry picked from commit d9e0c2ea4d64b8fdfb31b28e71373735be38101b)

tests/auto/qdatetime/tst_qdatetime.cpp

index f8836a6..d612911 100644 (file)
@@ -85,6 +85,8 @@ private slots:
     void setTime_t();
     void setMSecsSinceEpoch_data();
     void setMSecsSinceEpoch();
+    void toString_isoDate_data();
+    void toString_isoDate();
     void toString_enumformat();
     void toString_strformat_data();
     void toString_strformat();
@@ -506,6 +508,36 @@ void tst_QDateTime::setMSecsSinceEpoch()
     QCOMPARE(dt, reference.addMSecs(msecs));
 }
 
+void tst_QDateTime::toString_isoDate_data()
+{
+    QTest::addColumn<QDateTime>("dt");
+    QTest::addColumn<QString>("formatted");
+
+    QTest::newRow("localtime")
+            << QDateTime(QDate(1978, 11, 9), QTime(13, 28, 34))
+            << QString("1978-11-09T13:28:34");
+    QTest::newRow("UTC")
+            << QDateTime(QDate(1978, 11, 9), QTime(13, 28, 34), Qt::UTC)
+            << QString("1978-11-09T13:28:34Z");
+    QDateTime dt(QDate(1978, 11, 9), QTime(13, 28, 34));
+    dt.setUtcOffset(19800);
+    QTest::newRow("positive OffsetFromUTC")
+            << dt
+            << QString("1978-11-09T13:28:34+05:30");
+    dt.setUtcOffset(-7200);
+    QTest::newRow("negative OffsetFromUTC")
+            << dt
+            << QString("1978-11-09T13:28:34-02:00");
+}
+
+void tst_QDateTime::toString_isoDate()
+{
+    QFETCH(QDateTime, dt);
+    QFETCH(QString, formatted);
+
+    QCOMPARE(dt.toString(Qt::ISODate), formatted);
+}
+
 void tst_QDateTime::toString_enumformat()
 {
     QDateTime dt1(QDate(1995, 5, 20), QTime(12, 34, 56));