From e7c79face6ec361e4ad0ff8303f1becafac8b2b6 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Wed, 21 Nov 2012 15:45:18 +0200 Subject: [SIC/BIC] QLocale: update enums up to CLRD 1.9.1 This patch adds some missing codes (two-letter ones only), removes an outdated ones, and updates some names. The legacy language codes are handled in QLocalePrivate::codeToLanguage() (fortunately, there are only 4 of such codes). Change-Id: Iff50aecd1c762b6399cd151aebb955f341d366c6 Reviewed-by: Lars Knoll --- tests/auto/corelib/tools/qlocale/tst_qlocale.cpp | 46 ++++++++++++++++++++---- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp index 211a7b2f87..cb2abee029 100644 --- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp @@ -98,6 +98,7 @@ private slots: #if !defined(Q_OS_WINCE) && !defined(QT_NO_PROCESS) void emptyCtor(); #endif + void legacyNames(); void unixLocaleName(); void double_conversion_data(); void double_conversion(); @@ -186,8 +187,8 @@ void tst_QLocale::ctor() #define TEST_CTOR(req_lang, req_country, exp_lang, exp_country) \ { \ QLocale l(QLocale::req_lang, QLocale::req_country); \ - QCOMPARE(l.language(), exp_lang); \ - QCOMPARE(l.country(), exp_country); \ + QCOMPARE((int)l.language(), (int)exp_lang); \ + QCOMPARE((int)l.country(), (int)exp_country); \ } { QLocale l(QLocale::C, QLocale::AnyCountry); @@ -495,6 +496,42 @@ void tst_QLocale::emptyCtor() } #endif +void tst_QLocale::legacyNames() +{ + QLocale::setDefault(QLocale(QLocale::C)); + +#define TEST_CTOR(req_lang, req_country, exp_lang, exp_country) \ + { \ + QLocale l(QLocale::req_lang, QLocale::req_country); \ + QCOMPARE((int)l.language(), (int)QLocale::exp_lang); \ + QCOMPARE((int)l.country(), (int)QLocale::exp_country); \ + } + + TEST_CTOR(Moldavian, Moldova, Romanian, Moldova) + TEST_CTOR(Norwegian, AnyCountry, Norwegian, Norway) + TEST_CTOR(SerboCroatian, Montenegro, Serbian, Montenegro) + TEST_CTOR(Tagalog, AnyCountry, Filipino, Philippines) + +#undef TEST_CTOR + +#define TEST_CTOR(req_lc, exp_lang, exp_country) \ + { \ + QLocale l(req_lc); \ + QVERIFY2(l.language() == QLocale::exp_lang \ + && l.country() == QLocale::exp_country, \ + QString("requested: \"" + QString(req_lc) + "\", got: " \ + + QLocale::languageToString(l.language()) \ + + "/" + QLocale::countryToString(l.country())).toLatin1().constData()); \ + } + + TEST_CTOR("mo_MD", Romanian, Moldova) + TEST_CTOR("no", Norwegian, Norway) + TEST_CTOR("sh_ME", Serbian, Montenegro) + TEST_CTOR("tl", Filipino, Philippines) + +#undef TEST_CTOR +} + void tst_QLocale::unixLocaleName() { #define TEST_NAME(req_lang, req_country, exp_name) \ @@ -1553,14 +1590,9 @@ static const LocaleListItem g_locale_list[] = { { 96, 222}, // Russian/Ukraine { 98, 41}, // Sangho/CentralAfricanRepublic { 99, 100}, // Sanskrit/India - { 100, 241}, // Serbian/SerbiaAndMontenegro { 100, 27}, // Serbian/BosniaAndHerzegowina - { 100, 238}, // Serbian/Yugoslavia { 100, 242}, // Serbian/Montenegro { 100, 243}, // Serbian/Serbia - { 101, 241}, // SerboCroatian/SerbiaAndMontenegro - { 101, 27}, // SerboCroatian/BosniaAndHerzegowina - { 101, 238}, // SerboCroatian/Yugoslavia { 102, 120}, // Sesotho/Lesotho { 102, 195}, // Sesotho/SouthAfrica { 103, 195}, // Setswana/SouthAfrica -- cgit v1.2.3