diff options
author | Mitch Curtis <mitch.curtis@nokia.com> | 2012-06-08 12:22:14 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-12 11:05:39 +0200 |
commit | 7462033cc5ccce22e6cc5e8b7e5f5d29c0facffb (patch) | |
tree | 020596281626de706abb3019922f3894a2935b18 /tests/auto/corelib/tools/qdate/tst_qdate.cpp | |
parent | 9ab445d264fbcf57c48374526905a2f870de06a3 (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.cpp | 112 |
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 ); |