diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/corelib/text/qlocale/tst_qlocale.cpp | 19 | ||||
-rw-r--r-- | tests/auto/corelib/time/qtime/tst_qtime.cpp | 17 |
2 files changed, 30 insertions, 6 deletions
diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp index de72c0a4c4..31f9bd9d33 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -1675,18 +1675,27 @@ void tst_QLocale::formatTime_data() << QTime(14, 2, 3) << "en_US" << "h:m:s ap" << "2:2:3 pm"; QTest::newRow("en_US-H:m:s+AP-pm") << QTime(14, 2, 3) << "en_US" << "H:m:s AP" << "14:2:3 PM"; + QTest::newRow("en_US-H:m:s+Ap-pm") + << QTime(14, 2, 3) << "en_US" << "H:m:s Ap" << "14:2:3 PM"; QTest::newRow("en_US-h:m:s+ap-am") << QTime(1, 2, 3) << "en_US" << "h:m:s ap" << "1:2:3 am"; QTest::newRow("en_US-H:m:s+AP-am") << QTime(1, 2, 3) << "en_US" << "H:m:s AP" << "1:2:3 AM"; + QTest::newRow("en_US-H:m:s+aP-am") + << QTime(1, 2, 3) << "en_US" << "H:m:s aP" << "1:2:3 AM"; + QTest::newRow("cs_CZ-h:m:s+ap-pm") << QTime(14, 2, 3) << "cs_CZ" << "h:m:s ap" << "2:2:3 odp."; QTest::newRow("cs_CZ-h:m:s+AP-pm") << QTime(14, 2, 3) << "cs_CZ" << "h:m:s AP" << "2:2:3 ODP."; + QTest::newRow("cs_CZ-h:m:s+Ap-pm") + << QTime(14, 2, 3) << "cs_CZ" << "h:m:s Ap" << "2:2:3 odp."; QTest::newRow("cs_CZ-h:m:s+ap-am") << QTime(1, 2, 3) << "cs_CZ" << "h:m:s ap" << "1:2:3 dop."; QTest::newRow("cs_CZ-h:m:s+AP-am") << QTime(1, 2, 3) << "cs_CZ" << "h:m:s AP" << "1:2:3 DOP."; + QTest::newRow("cs_CZ-h:m:s+aP-am") + << QTime(1, 2, 3) << "cs_CZ" << "h:m:s aP" << "1:2:3 dop."; } void tst_QLocale::formatTime() @@ -1810,7 +1819,7 @@ void tst_QLocale::formatDateTime_data() << QString("31-apAP12-1999 23:59:59.999"); QTest::newRow("datetime3") << "en_US" << testLongHour << QString("Apdd-MM-yyyy hh:mm:ss.zzz") - << QString("PMp31-12-1999 11:59:59.999"); + << QString("PM31-12-1999 11:59:59.999"); QTest::newRow("datetime4") << "en_US" << testLongHour << QString("'ap'apdd-MM-yyyy 'AP'hh:mm:ss.zzz") << QString("appm31-12-1999 AP11:59:59.999"); @@ -1986,6 +1995,14 @@ void tst_QLocale::toDateTime_data() << "en_US" << QDateTime(QDate(2009, 1, 5), QTime(11, 48, 32)) << "dddd, MMMM d, yyyy h:mm:ss AP " << "Monday, January 5, 2009 11:48:32 AM " << true; + // Parsing am/pm indicators case-insensitively: + QTest::newRow("am-cs_CZ") + << "cs_CZ" << QDateTime(QDate(1945, 8, 6), QTime(8, 15, 44, 400)) + << "yyyy-MM-dd hh:mm:ss.z aP" << "1945-08-06 08:15:44.4 dOp." << true; + QTest::newRow("pm-cs_CZ") + << "cs_CZ" << QDateTime(QDate(1945, 8, 15), QTime(12, 0)) + << "yyyy-MM-dd hh:mm aP" << "1945-08-15 12:00 OdP." << true; + const QDateTime dt(QDate(2017, 02, 25), QTime(17, 21, 25)); // These formats correspond to the locale formats, with the timezone removed. // We hardcode them in case an update to the locale DB changes them. diff --git a/tests/auto/corelib/time/qtime/tst_qtime.cpp b/tests/auto/corelib/time/qtime/tst_qtime.cpp index 3626f61ac7..480fbcc14f 100644 --- a/tests/auto/corelib/time/qtime/tst_qtime.cpp +++ b/tests/auto/corelib/time/qtime/tst_qtime.cpp @@ -553,11 +553,18 @@ void tst_QTime::fromStringFormat_data() QTest::newRow("data7") << QString("25") << QString("hh") << invalidTime(); QTest::newRow("data8") << QString("22pm") << QString("Hap") << QTime(22, 0, 0); QTest::newRow("data9") << QString("2221") << QString("hhhh") << invalidTime(); - QTest::newRow("data10") << QString("02:23PM") << QString("hh:mmAP") << QTime(14,23,0,0); - QTest::newRow("data11") << QString("02:23pm") << QString("hh:mmap") << QTime(14,23,0,0); - QTest::newRow("short-msecs-lt100") << QString("10:12:34:045") << QString("hh:m:ss:z") << QTime(10,12,34,45); - QTest::newRow("short-msecs-gt100") << QString("10:12:34:45") << QString("hh:m:ss:z") << QTime(10,12,34,450); - QTest::newRow("late") << QString("23:59:59.999") << QString("hh:mm:ss.z") << QTime(23, 59, 59, 999); + // Parsing of am/pm indicators is case-insensitive + QTest::newRow("pm-upper") << QString("02:23PM") << QString("hh:mmAp") << QTime(14, 23); + QTest::newRow("pm-lower") << QString("02:23pm") << QString("hh:mmaP") << QTime(14, 23); + QTest::newRow("pm-as-upper") << QString("02:23Pm") << QString("hh:mmAP") << QTime(14, 23); + QTest::newRow("pm-as-lower") << QString("02:23pM") << QString("hh:mmap") << QTime(14, 23); + // Millisecond parsing must interpolate 0s only at the end and notice them at the start. + QTest::newRow("short-msecs-lt100") + << QString("10:12:34:045") << QString("hh:m:ss:z") << QTime(10, 12, 34, 45); + QTest::newRow("short-msecs-gt100") + << QString("10:12:34:45") << QString("hh:m:ss:z") << QTime(10, 12, 34, 450); + QTest::newRow("late") + << QString("23:59:59.999") << QString("hh:mm:ss.z") << QTime(23, 59, 59, 999); // Test unicode handling. QTest::newRow("emoji in format string 1") |