summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/text/qlocale/tst_qlocale.cpp19
-rw-r--r--tests/auto/corelib/time/qtime/tst_qtime.cpp17
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")