From b8e8c9c471ba6974886dd624630144ef2edccb2c Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Wed, 21 May 2014 14:14:56 +0200 Subject: add unit test for static isValidBcp47() method Change-Id: Ib234fb1d14087236d337dfe351aea941945e718c --- i18nlangtag/qa/cppunit/test_languagetag.cxx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx index 93506fb3d598..b86e2636cc10 100644 --- a/i18nlangtag/qa/cppunit/test_languagetag.cxx +++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx @@ -586,6 +586,22 @@ void TestLanguageTag::testAllTags() CPPUNIT_ASSERT( uab.isIsoLocale() == false ); CPPUNIT_ASSERT( uab.isIsoODF() == false ); } + + // test static isValidBcp47() method + { + OUString aCanonicalized; + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-US", &aCanonicalized) && aCanonicalized == "en-US" ); + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "x-foobar", &aCanonicalized) && aCanonicalized == "x-foobar" ); + CPPUNIT_ASSERT( !LanguageTag::isValidBcp47( "unreg-and-bad", &aCanonicalized) ); +#if USE_LIBLANGTAG + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "de-Latn-DE", &aCanonicalized) && aCanonicalized == "de-DE" ); + /* TODO: at least some (those we know) grandfathered tags should be + * recognized by the replacement code. */ + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "en-GB-oed", &aCanonicalized) && aCanonicalized == "en-GB-oed" ); +#else + CPPUNIT_ASSERT( LanguageTag::isValidBcp47( "de-Latn-DE", &aCanonicalized) && aCanonicalized == "de-Latn-DE" ); +#endif + } } static bool checkMapping( const OUString& rStr1, const OUString& rStr2 ) -- cgit v1.2.3