diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-09-14 12:39:41 +0200 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-09-15 10:29:55 +0200 |
commit | 61343b5a3f10f5b9166729176d4b95a4c538c278 (patch) | |
tree | 1adbfa95019286dffea81995957fd768d7bc6f41 /tests | |
parent | 05d336620cf87fbffc07f2df15e1ba5aeea7ef71 (diff) |
Teach QLocale::system() to use narrow format
QLocale::system() was not making use of QLocaleFormat::Narrow, always
treating it in the same way as QLocaleFormat::Short.
This patch fixes the issue for day and month names.
The implementation falls back to CLDR if system locale fails to
provide some data.
Pick-to: 6.2
Task-number: QTBUG-84877
Change-Id: Ia37e59dbf02d7a5e230f2767d294b9ab7de37f33
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/text/qlocale/tst_qlocale.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp index 1c271ffefb..a72d163c67 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -3221,6 +3221,11 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::ShortFormat << QString("\u0430\u0432\u0433.") << QString("\u0430\u0432\u0433.") << QString("\u043f\u043d") << QString("\u043f\u043d"); + // А, А, пн, П + QTest::newRow("ru_RU 30.08.2021 narrow") + << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << QString("\u0410") << QString("\u0410") << QString("\u043f\u043d") + << QString("\u041f"); #elif defined(Q_OS_DARWIN) // августа, август, понедельник, понедельник QTest::newRow("ru_RU 30.08.2021 long") @@ -3234,6 +3239,11 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::ShortFormat << QString("\u0430\u0432\u0433.") << QString("\u0430\u0432\u0433.") << QString("\u041f\u043d") << QString("\u041f\u043d"); + // А, А, Пн, П + QTest::newRow("ru_RU 30.08.2021 narrow") + << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << QString("\u0410") << QString("\u0410") << QString("\u041f\u043d") + << QString("\u041f"); #endif #if QT_CONFIG(icu) || defined(Q_OS_DARWIN) @@ -3243,6 +3253,9 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() QTest::newRow("en_US 30.08.2021 short") << QByteArray("en_US") << QDate(2021, 8, 30) << QLocale::ShortFormat << "Aug" << "Aug" << "Mon" << "Mon"; + QTest::newRow("en_US 30.08.2021 narrow") + << QByteArray("en_US") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << "A" << "A" << "M" << "M"; QTest::newRow("de_DE 30.08.2021 long") << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::LongFormat @@ -3250,6 +3263,9 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() QTest::newRow("de_DE 30.08.2021 short") << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::ShortFormat << "Aug." << "Aug" << "Mo." << "Mo"; + QTest::newRow("de_DE 30.08.2021 narrow") + << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << "A" << "A" << "M" << "M"; #elif defined(Q_OS_WIN) // августа, Август, понедельник, понедельник QTest::newRow("ru_RU 30.08.2021 long") @@ -3263,6 +3279,11 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::ShortFormat << QString("\u0430\u0432\u0433") << QString("\u0430\u0432\u0433") << QString("\u041f\u043d") << QString("\u043f\u043d"); + // А, А, Пн, П + QTest::newRow("ru_RU 30.08.2021 narrow") + << QByteArray("ru_RU") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << QString("\u0410") << QString("\u0410") << QString("\u041f\u043d") + << QString("\u041f"); QTest::newRow("en_US 30.08.2021 long") << QByteArray("en_US") << QDate(2021, 8, 30) << QLocale::LongFormat @@ -3270,6 +3291,9 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() QTest::newRow("en_US 30.08.2021 short") << QByteArray("en_US") << QDate(2021, 8, 30) << QLocale::ShortFormat << "Aug" << "Aug" << "Mon" << "Mon"; + QTest::newRow("en_US 30.08.2021 narrow") + << QByteArray("en_US") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << "A" << "A" << "Mo" << "M"; QTest::newRow("de_DE 30.08.2021 long") << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::LongFormat @@ -3277,6 +3301,9 @@ void tst_QLocale::systemLocaleDayAndMonthNames_data() QTest::newRow("de_DE 30.08.2021 short") << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::ShortFormat << "Aug" << "Aug" << "Mo" << "Mo"; + QTest::newRow("de_DE 30.08.2021 narrow") + << QByteArray("de_DE") << QDate(2021, 8, 30) << QLocale::NarrowFormat + << "A" << "A" << "Mo" << "M"; #else QSKIP("This test can't run on this OS"); #endif |