summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
diff options
context:
space:
mode:
authorJüri Valdmann <juri.valdmann@qt.io>2017-07-18 10:34:02 +0200
committerJüri Valdmann <juri.valdmann@qt.io>2017-07-26 08:22:43 +0000
commit2031196ad12ae7a641fc00c0990072f5fb3a7172 (patch)
tree186a726463d780b1e6d9f8273aaf01c7118fc000 /tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
parent28d1d19a526148845107b631612520a3524b402b (diff)
Add test for QLocale::bcp47Name()
Task-number: QTBUG-61949 Change-Id: I34fece0441afb1e69ea84ae59b90c5e2b7cf133f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools/qlocale/tst_qlocale.cpp')
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
index f278a7470b..d08e5dc289 100644
--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
@@ -137,6 +137,8 @@ private slots:
void textDirection_data();
void textDirection();
+ void bcp47Name();
+
private:
QString m_decimal, m_thousand, m_sdate, m_ldate, m_time;
QString m_sysapp;
@@ -2525,5 +2527,26 @@ void tst_QLocale::textDirection()
QCOMPARE(locale.textDirection() == Qt::RightToLeft, rightToLeft);
}
+void tst_QLocale::bcp47Name()
+{
+ QCOMPARE(QLocale("C").bcp47Name(), QStringLiteral("C"));
+ QCOMPARE(QLocale("en").bcp47Name(), QStringLiteral("en"));
+ QCOMPARE(QLocale("en_US").bcp47Name(), QStringLiteral("en"));
+ QCOMPARE(QLocale("en_GB").bcp47Name(), QStringLiteral("en-GB"));
+ QCOMPARE(QLocale("en_DE").bcp47Name(), QStringLiteral("en-DE"));
+ QCOMPARE(QLocale("de_DE").bcp47Name(), QStringLiteral("de"));
+ QCOMPARE(QLocale("sr_RS").bcp47Name(), QStringLiteral("sr"));
+ QCOMPARE(QLocale("sr_Cyrl_RS").bcp47Name(), QStringLiteral("sr"));
+ QCOMPARE(QLocale("sr_Latn_RS").bcp47Name(), QStringLiteral("sr-Latn"));
+ QCOMPARE(QLocale("sr_ME").bcp47Name(), QStringLiteral("sr-ME"));
+ QCOMPARE(QLocale("sr_Cyrl_ME").bcp47Name(), QStringLiteral("sr-Cyrl-ME"));
+ QCOMPARE(QLocale("sr_Latn_ME").bcp47Name(), QStringLiteral("sr-ME"));
+
+ // Fall back to defaults when country isn't in CLDR for this language:
+ QCOMPARE(QLocale("sr_HR").bcp47Name(), QStringLiteral("sr"));
+ QCOMPARE(QLocale("sr_Cyrl_HR").bcp47Name(), QStringLiteral("sr"));
+ QCOMPARE(QLocale("sr_Latn_HR").bcp47Name(), QStringLiteral("sr-Latn"));
+}
+
QTEST_MAIN(tst_QLocale)
#include "tst_qlocale.moc"