diff options
author | Eike Rathke <erack@redhat.com> | 2013-10-17 18:33:47 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-10-17 18:36:05 +0200 |
commit | c450aafad00da4553fc6f7abadb19b4b16df6b88 (patch) | |
tree | 1521226863a3fba436f010f68b307f96c0d45dfb /i18nlangtag/qa | |
parent | 7bbd58eafc3146abcefc73d2d1ca6869bb47ef5a (diff) |
solve the 'dz' vs 'bo' and 'nn', 'nb' and 'nn' share primary ID cases
Change-Id: I7ccead4493c9848b55f642c2636daa3c60aeb7a6
Diffstat (limited to 'i18nlangtag/qa')
-rw-r--r-- | i18nlangtag/qa/cppunit/test_languagetag.cxx | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx index 8a055be653ec..6f7cc2d3dc49 100644 --- a/i18nlangtag/qa/cppunit/test_languagetag.cxx +++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx @@ -335,13 +335,35 @@ void TestLanguageTag::testAllTags() CPPUNIT_ASSERT( aLocale.Variant == "" ); LanguageType de_LangID = de.getLanguageType(); CPPUNIT_ASSERT( de_LangID != LANGUAGE_GERMAN ); - CPPUNIT_ASSERT( MsLangId::getPrimaryLanguage( de_LangID) == MsLangId::getPrimaryLanguage( LANGUAGE_GERMAN) ); + CPPUNIT_ASSERT( de_LangID == MsLangId::getPrimaryLanguage( LANGUAGE_GERMAN) ); CPPUNIT_ASSERT( de.makeFallback().getBcp47() == "de-DE"); // Check registered mapping. LanguageTag de_l( de_LangID); CPPUNIT_ASSERT( de_l.getBcp47() == s_de ); } + // "bo" and "dz" share the same primary language ID, only one gets it + // assigned, "dz" language-only has a special mapping. + { + LanguageTag bo( "bo", true ); + CPPUNIT_ASSERT( bo.getLanguageType() == MsLangId::getPrimaryLanguage( LANGUAGE_TIBETAN) ); + LanguageTag dz( "dz", true ); + CPPUNIT_ASSERT( dz.getLanguageType() == LANGUAGE_USER_DZONGKHA_MAP_LONLY ); + } + + // "no", "nb" and "nn" share the same primary language ID, which even is + // assigned to "no-NO" for legacy so none gets it assigned, all on-the-fly. + { + LanguageTag no( "no", true ); + CPPUNIT_ASSERT( LanguageTag::isOnTheFlyID( no.getLanguageType()) ); + LanguageTag nb( "nb", true ); + CPPUNIT_ASSERT( LanguageTag::isOnTheFlyID( nb.getLanguageType()) ); + LanguageTag nn( "nn", true ); + CPPUNIT_ASSERT( LanguageTag::isOnTheFlyID( nn.getLanguageType()) ); + LanguageTag no_NO( "no-NO", true ); + CPPUNIT_ASSERT( no_NO.getLanguageType() == LANGUAGE_NORWEGIAN ); + } + // 'de-1901' derived from 'de-DE-1901' grandfathered to check that it is // accepted as (DIGIT 3ALNUM) variant { |