summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qdate/tst_qdate.cpp
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@nokia.com>2012-06-08 12:22:14 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-12 11:05:39 +0200
commit7462033cc5ccce22e6cc5e8b7e5f5d29c0facffb (patch)
tree020596281626de706abb3019922f3894a2935b18 /tests/auto/corelib/tools/qdate/tst_qdate.cpp
parent9ab445d264fbcf57c48374526905a2f870de06a3 (diff)
Clean up and consolidate QDateTime-related tests.
Some test functions that only test QDate and QTime were in tst_qdatetime.cpp. Upon moving these into tst_qdate.cpp and tst_qtime.cpp, there were already some similar tests so I consolidated them. Change-Id: I5f8758bf8b4804ae9d3a482f49d21de9f7a1dc03 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools/qdate/tst_qdate.cpp')
-rw-r--r--tests/auto/corelib/tools/qdate/tst_qdate.cpp112
1 files changed, 87 insertions, 25 deletions
diff --git a/tests/auto/corelib/tools/qdate/tst_qdate.cpp b/tests/auto/corelib/tools/qdate/tst_qdate.cpp
index 258dbf8625..1c8c515f22 100644
--- a/tests/auto/corelib/tools/qdate/tst_qdate.cpp
+++ b/tests/auto/corelib/tools/qdate/tst_qdate.cpp
@@ -80,12 +80,12 @@ private slots:
void operator_gt();
void operator_lt_eq();
void operator_gt_eq();
- void fromString_data();
- void fromString();
- void fromString_format_data();
- void fromString_format();
- void toString_format_data();
- void toString_format();
+ void fromStringDateFormat_data();
+ void fromStringDateFormat();
+ void fromStringFormat_data();
+ void fromStringFormat();
+ void toStringFormat_data();
+ void toStringFormat();
void isLeapYear();
void yearsZeroToNinetyNine();
void negativeYear() const;
@@ -100,6 +100,9 @@ private slots:
void longMonthName() const;
void standaloneLongMonthName() const;
void roundtrip() const;
+private:
+ QDate defDate() const { return QDate(1900, 1, 1); }
+ QDate invalidDate() const { return QDate(); }
};
Q_DECLARE_METATYPE(QDate)
@@ -818,7 +821,7 @@ void tst_QDate::operator_gt_eq()
QVERIFY( d1 >= d2 );
}
-void tst_QDate::fromString_data()
+void tst_QDate::fromStringDateFormat_data()
{
// Since we can't define an element of Qt::DateFormat, d1 will be the date
// expected when we have a TextDate, and d2 will be the date expected when
@@ -841,7 +844,7 @@ void tst_QDate::fromString_data()
QTest::newRow( "data7" ) << QString("xxx Nov 25 -4713") << QString() << QDate(-4713, 11, 25);
}
-void tst_QDate::fromString()
+void tst_QDate::fromStringDateFormat()
{
QFETCH( QString, str1 );
QFETCH( QString, str2 );
@@ -852,31 +855,90 @@ void tst_QDate::fromString()
QCOMPARE( QDate::fromString( str2, Qt::ISODate ), d1 );
}
-void tst_QDate::fromString_format_data()
+void tst_QDate::fromStringFormat_data()
{
QTest::addColumn<QString>("string");
QTest::addColumn<QString>("format");
- QTest::addColumn<QDate>("date");
-
- //year with yy is always 19xx for compatibility
- QTest::newRow( "data0" ) << QString("21052006") << QString("ddMMyyyy") << QDate(2006,5,21);
- QTest::newRow( "data1" ) << QString("210506") << QString("ddMMyy") << QDate(1906,5,21);
- QTest::newRow( "data2" ) << QString("21/5/2006") << QString("d/M/yyyy") << QDate(2006,5,21);
- QTest::newRow( "data3" ) << QString("21/5/06") << QString("d/M/yy") << QDate(1906,5,21);
- QTest::newRow( "data4" ) << QString("20060521") << QString("yyyyMMdd") << QDate(2006,5,21);
- QTest::newRow( "data5" ) << QString("060521") << QString("yyMMdd") << QDate(1906,5,21);
+ QTest::addColumn<QDate>("expected");
+
+ //get localized names
+ QString january = QDate::longMonthName(1);
+ QString february = QDate::longMonthName(2);
+ QString march = QDate::longMonthName(3);
+ QString august = QDate::longMonthName(8);
+ QString mon = QDate::shortDayName(1);
+ QString monday = QDate::longDayName(1);
+ QString tuesday = QDate::longDayName(2);
+ QString wednesday = QDate::longDayName(3);
+ QString thursday = QDate::longDayName(4);
+ QString friday = QDate::longDayName(5);
+ QString saturday = QDate::longDayName(6);
+ QString sunday = QDate::longDayName(7);
+
+ QTest::newRow("data0") << QString("") << QString("") << defDate();
+ QTest::newRow("data1") << QString(" ") << QString("") << invalidDate();
+ QTest::newRow("data2") << QString(" ") << QString(" ") << defDate();
+ QTest::newRow("data3") << QString("-%$%#") << QString("$*(#@") << invalidDate();
+ QTest::newRow("data4") << QString("d") << QString("'d'") << defDate();
+ QTest::newRow("data5") << QString("101010") << QString("dMyy") << QDate(1910, 10, 10);
+ QTest::newRow("data6") << QString("101010b") << QString("dMyy") << invalidDate();
+ QTest::newRow("data7") << january << QString("MMMM") << defDate();
+ QTest::newRow("data8") << QString("ball") << QString("balle") << invalidDate();
+ QTest::newRow("data9") << QString("balleh") << QString("balleh") << defDate();
+ QTest::newRow("data10") << QString("10.01.1") << QString("M.dd.d") << QDate(defDate().year(), 10, 1);
+ QTest::newRow("data11") << QString("-1.01.1") << QString("M.dd.d") << invalidDate();
+ QTest::newRow("data12") << QString("11010") << QString("dMMyy") << invalidDate();
+ QTest::newRow("data13") << QString("-2") << QString("d") << invalidDate();
+ QTest::newRow("data14") << QString("132") << QString("Md") << invalidDate();
+ QTest::newRow("data15") << february << QString("MMMM") << QDate(defDate().year(), 2, 1);
+
+ QString date = mon + " " + august + " 8 2005";
+ QTest::newRow("data16") << date << QString("ddd MMMM d yyyy") << QDate(2005, 8, 8);
+ QTest::newRow("data17") << QString("2000:00") << QString("yyyy:yy") << QDate(2000, 1, 1);
+ QTest::newRow("data18") << QString("1999:99") << QString("yyyy:yy") << QDate(1999, 1, 1);
+ QTest::newRow("data19") << QString("2099:99") << QString("yyyy:yy") << QDate(2099, 1, 1);
+ QTest::newRow("data20") << QString("2001:01") << QString("yyyy:yy") << QDate(2001, 1, 1);
+ QTest::newRow("data21") << QString("99") << QString("yy") << QDate(1999, 1, 1);
+ QTest::newRow("data22") << QString("01") << QString("yy") << QDate(1901, 1, 1);
+
+ QTest::newRow("data23") << monday << QString("dddd") << QDate(1900, 1, 1);
+ QTest::newRow("data24") << tuesday << QString("dddd") << QDate(1900, 1, 2);
+ QTest::newRow("data25") << wednesday << QString("dddd") << QDate(1900, 1, 3);
+ QTest::newRow("data26") << thursday << QString("dddd") << QDate(1900, 1, 4);
+ QTest::newRow("data27") << friday << QString("dddd") << QDate(1900, 1, 5);
+ QTest::newRow("data28") << saturday << QString("dddd") << QDate(1900, 1, 6);
+ QTest::newRow("data29") << sunday << QString("dddd") << QDate(1900, 1, 7);
+
+ QTest::newRow("data30") << monday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 2);
+ QTest::newRow("data31") << tuesday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 3);
+ QTest::newRow("data32") << wednesday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 4);
+ QTest::newRow("data33") << thursday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 5);
+ QTest::newRow("data34") << friday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 6);
+ QTest::newRow("data35") << saturday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 7);
+ QTest::newRow("data36") << sunday + " 2006" << QString("dddd yyyy") << QDate(2006, 1, 1);
+
+ QTest::newRow("data37") << tuesday + " 2007 " + march << QString("dddd yyyy MMMM") << QDate(2007, 3, 6);
+
+ QTest::newRow("data38") << QString("21052006") << QString("ddMMyyyy") << QDate(2006,5,21);
+ QTest::newRow("data39") << QString("210506") << QString("ddMMyy") << QDate(1906,5,21);
+ QTest::newRow("data40") << QString("21/5/2006") << QString("d/M/yyyy") << QDate(2006,5,21);
+ QTest::newRow("data41") << QString("21/5/06") << QString("d/M/yy") << QDate(1906,5,21);
+ QTest::newRow("data42") << QString("20060521") << QString("yyyyMMdd") << QDate(2006,5,21);
+ QTest::newRow("data43") << QString("060521") << QString("yyMMdd") << QDate(1906,5,21);
}
-void tst_QDate::fromString_format()
+
+void tst_QDate::fromStringFormat()
{
- QFETCH( QString, string );
- QFETCH( QString, format );
- QFETCH( QDate, date );
+ QFETCH(QString, string);
+ QFETCH(QString, format);
+ QFETCH(QDate, expected);
- QCOMPARE( QDate::fromString( string, format ), date );
+ QDate dt = QDate::fromString(string, format);
+ QCOMPARE(dt, expected);
}
-void tst_QDate::toString_format_data()
+void tst_QDate::toStringFormat_data()
{
QTest::addColumn<QDate>("t");
QTest::addColumn<QString>("format");
@@ -889,7 +951,7 @@ void tst_QDate::toString_format_data()
QTest::newRow( "data4" ) << QDate() << QString("dd-mm-yyyy") << QString();
}
-void tst_QDate::toString_format()
+void tst_QDate::toStringFormat()
{
QFETCH( QDate, t );
QFETCH( QString, format );