diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-09-14 12:39:41 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-09-16 08:03:45 +0000 |
commit | 40891871063a83147199a4ecbcd244403034421b (patch) | |
tree | 89998d37b005d0cd841376762425f38098481428 /tests | |
parent | ea5c96af59ba601f2a23dc5a8eeaee628518f100 (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.
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>
(cherry picked from commit 61343b5a3f10f5b9166729176d4b95a4c538c278)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_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 8afab00f2d..a643ef9e95 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -3162,6 +3162,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") @@ -3175,6 +3180,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) @@ -3184,6 +3194,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 @@ -3191,6 +3204,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") @@ -3204,6 +3220,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 @@ -3211,6 +3232,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 @@ -3218,6 +3242,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 |