summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-09-14 12:39:41 +0200
committerIvan Solovev <ivan.solovev@qt.io>2021-09-15 10:29:55 +0200
commit61343b5a3f10f5b9166729176d4b95a4c538c278 (patch)
tree1adbfa95019286dffea81995957fd768d7bc6f41 /tests
parent05d336620cf87fbffc07f2df15e1ba5aeea7ef71 (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.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 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