Correct am/pm indicators for en_AU to lowercase

Previously QLocale's digested form of CLDR-derived data for AM/PM
indicators was processed through a mapping that always selected the
upper-case form, the AP format. Since 6.3, the formatting (and
parsing) code has understood an Ap format to select the
locale-appropriate case, rather than obliging client code to pick the
case regardless of the user's locale. However QLocale's data still
selected the upper-case version instead of the "locale-appropriate"
form for time and datetime formats. I recently fixed this in qtbase;
it's now time for QML's Locale's test-cases to catch up.

The en_AU locale inherits lower-case am/pm markers from en_001
("world" English, rather than plain "en" USAish), so correct the tests
that expected upper-case markers.

Change-Id: Ie05f5e39278758ea8d9e3ea556c133a143070ab8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
This commit is contained in:
Edward Welbourne 2024-04-24 13:20:36 +02:00
parent 75bcaf70e5
commit abd985021a
1 changed files with 4 additions and 2 deletions

View File

@ -478,10 +478,12 @@ void tst_qqmllocale::toString_data()
QTest::newRow(qPrintable(functionCallScript)) << "ar" << functionCallScript << "١٦" << QString();
functionCallScript = "locale.toString(new Date(2022, 7, 16), Locale.ShortFormat)";
QTest::newRow(qPrintable(functionCallScript)) << "en_AU" << functionCallScript << "16/8/22 12:00 AM" << QString();
QTest::newRow(qPrintable(functionCallScript))
<< "en_AU" << functionCallScript << "16/8/22 12:00 am" << QString();
functionCallScript = "locale.toString(new Date(2022, 7, 16, 1, 23, 4), Locale.ShortFormat)";
QTest::newRow(qPrintable(functionCallScript)) << "en_AU" << functionCallScript << "16/8/22 1:23 AM" << QString();
QTest::newRow(qPrintable(functionCallScript))
<< "en_AU" << functionCallScript << "16/8/22 1:23 am" << QString();
}
void tst_qqmllocale::toString()