summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-09-14 12:39:41 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-09-16 08:03:45 +0000
commit40891871063a83147199a4ecbcd244403034421b (patch)
tree89998d37b005d0cd841376762425f38098481428 /tests
parentea5c96af59ba601f2a23dc5a8eeaee628518f100 (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.cpp27
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