| /* |
| ******************************************************************************* |
| * Copyright (C) 2006-2011, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| |
| package com.ibm.icu.tests; |
| |
| import java.util.Iterator; |
| import java.util.Locale; |
| |
| import com.ibm.icu.util.ULocale; |
| import com.ibm.icu.util.ULocale.Category; |
| |
| public class ULocaleTest extends ICUTestCase { |
| private String sampleName; |
| private String longULocaleName; |
| private String longULocaleBasename; |
| private String nonNormalizedName; |
| private ULocale longULocale; |
| private Locale sampleLocale; |
| |
| /** |
| * @Override |
| */ |
| protected void setUp() throws Exception { |
| super.setUp(); |
| |
| sampleName = "ll_CC_VVVV"; |
| longULocaleName = "ll_Ssss_CC_VVVV@collation=phonebook;key=value"; |
| longULocaleBasename = longULocaleName.substring(0, longULocaleName.indexOf('@')); |
| nonNormalizedName = "LL_ssss_cc_VVVV@ Key = value ; Collation = phonebook ; "; |
| longULocale = new ULocale(longULocaleName); |
| sampleLocale = new ULocale(sampleName).toLocale(); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.hashCode()' |
| */ |
| public void testHashCode() { |
| ULocale obj = ULocale.GERMANY; |
| ULocale eq = new ULocale("de_DE"); |
| ULocale neq = new ULocale("de_DE_FRENCH"); |
| |
| ICUTestCase.testEHCS(obj, eq, neq); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.forLocale(Locale)' |
| */ |
| public void testForLocale() { |
| assertEquals(ULocale.GERMANY, ULocale.forLocale(Locale.GERMANY)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String)' |
| */ |
| public void testULocaleString() { |
| assertEquals(ULocale.GERMAN, new ULocale("de")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String, String)' |
| */ |
| public void testULocaleStringString() { |
| assertEquals(ULocale.GERMANY, new ULocale("de", "DE")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String, String, String)' |
| */ |
| public void testULocaleStringStringString() { |
| assertEquals(sampleLocale, new ULocale("ll", "cc", "VVVV").toLocale()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.createCanonical(String)' |
| */ |
| public void testCreateCanonical() { |
| ULocale result = ULocale.createCanonical("de__PHONEBOOK"); |
| assertEquals(new ULocale("de@collation=phonebook"), result); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.toLocale()' |
| */ |
| public void testToLocale() { |
| assertEquals(sampleLocale, new ULocale("ll", "cc", "VVVV").toLocale()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDefault()' |
| */ |
| public void testGetDefault() { |
| assertEquals(Locale.getDefault(), ULocale.getDefault().toLocale()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.setDefault(ULocale)' |
| */ |
| public void testSetDefault() { |
| Locale oldLocale = Locale.getDefault(); |
| ULocale oldULocale = ULocale.getDefault(); |
| try { |
| ULocale.setDefault(longULocale); |
| ICUTestCase.assertNotEqual(Locale.getDefault(), oldLocale); |
| ICUTestCase.assertNotEqual(ULocale.getDefault(), oldULocale); |
| assertEquals(longULocale, ULocale.getDefault()); |
| assertEquals(sampleLocale, Locale.getDefault()); |
| } |
| finally { |
| ULocale.setDefault(oldULocale); |
| Locale.setDefault(oldLocale); // in case of some error |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.clone()' |
| */ |
| public void testClone() { |
| // see testHashcode |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.equals(Object)' |
| */ |
| public void testEqualsObject() { |
| // see testHashcode |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getAvailableLocales()' |
| */ |
| public void testGetAvailableLocales() { |
| ULocale[] ulocales = ULocale.getAvailableLocales(); |
| if (ICUTestCase.testingWrapper) { |
| Locale[] locales = Locale.getAvailableLocales(); |
| for (int i = 0; i < ulocales.length; ++i) { |
| assertEquals(ulocales[i].toLocale(), locales[i]); |
| } |
| } |
| // else nothing to test except that the function returned. |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISOCountries()' |
| */ |
| public void testGetISOCountries() { |
| String[] ucountries = ULocale.getISOCountries(); |
| assertNotNull(ucountries); |
| if (ICUTestCase.testingWrapper) { |
| // keep our own data for now |
| // our data doesn't match java's so this test would fail |
| // TODO: enable if we decide to use java's data |
| // String[] countries = Locale.getISOCountries(); |
| // TestBoilerplate.assertArraysEqual(ucountries, countries); |
| } |
| // else nothing to test except that the function returned. |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISOLanguages()' |
| */ |
| public void testGetISOLanguages() { |
| String[] ulanguages = ULocale.getISOLanguages(); |
| assertNotNull(ulanguages); |
| if (ICUTestCase.testingWrapper) { |
| // keep our own data for now |
| // our data doesn't match java's so this test would fail |
| // TODO: enable if we decide to use java's data |
| // String[] languages = Locale.getISOLanguages(); |
| // TestBoilerplate.assertArraysEqual(ulanguages, languages); |
| } |
| // else nothing to test except that the function returned. |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getLanguage()' |
| */ |
| public void testGetLanguage() { |
| assertEquals("ll", longULocale.getLanguage()); |
| assertEquals("ll", longULocale.toLocale().getLanguage()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getLanguage(String)' |
| */ |
| public void testGetLanguageString() { |
| assertEquals("ll", ULocale.getLanguage(longULocale.getName())); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getScript()' |
| */ |
| public void testGetScript() { |
| assertEquals("Ssss", longULocale.getScript()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getScript(String)' |
| */ |
| public void testGetScriptString() { |
| assertEquals("Ssss", ULocale.getScript(longULocale.getName())); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getCountry()' |
| */ |
| public void testGetCountry() { |
| assertEquals("CC", longULocale.getCountry()); |
| assertEquals("CC", longULocale.toLocale().getCountry()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getCountry(String)' |
| */ |
| public void testGetCountryString() { |
| assertEquals("CC", ULocale.getCountry(longULocale.getName())); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getVariant()' |
| */ |
| public void testGetVariant() { |
| assertEquals("VVVV", longULocale.getVariant()); |
| assertEquals("VVVV", longULocale.toLocale().getVariant()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getVariant(String)' |
| */ |
| public void testGetVariantString() { |
| assertEquals("VVVV", ULocale.getVariant(longULocale.getName())); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getFallback(String)' |
| */ |
| public void testGetFallbackString() { |
| assertEquals(ULocale.GERMAN, ULocale.getFallback(ULocale.GERMANY.getName())); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getFallback()' |
| */ |
| public void testGetFallback() { |
| assertEquals(ULocale.GERMAN, ULocale.GERMANY.getFallback()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getBaseName()' |
| */ |
| public void testGetBaseName() { |
| assertEquals(longULocaleBasename, longULocale.getBaseName()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getBaseName(String)' |
| */ |
| public void testGetBaseNameString() { |
| assertEquals(longULocaleBasename, longULocale.getBaseName()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getName()' |
| */ |
| public void testGetName() { |
| assertEquals(longULocaleName, longULocale.getName()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getName(String)' |
| */ |
| public void testGetNameString() { |
| assertEquals(longULocaleName, ULocale.getName(nonNormalizedName)); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.toString()' |
| */ |
| public void testToString() { |
| assertEquals(longULocaleName, longULocale.toString()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getKeywords()' |
| */ |
| public void testGetKeywords() { |
| Iterator<String> iter = longULocale.getKeywords(); |
| assertEquals(iter.next(), "collation"); |
| assertEquals(iter.next(), "key"); |
| assertFalse(iter.hasNext()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getKeywords(String)' |
| */ |
| public void testGetKeywordsString() { |
| Iterator<String> iter = ULocale.getKeywords(nonNormalizedName); |
| assertEquals(iter.next(), "collation"); |
| assertEquals(iter.next(), "key"); |
| assertFalse(iter.hasNext()); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getKeywordValue(String)' |
| */ |
| public void testGetKeywordValueString() { |
| assertEquals("value", longULocale.getKeywordValue("key")); |
| assertEquals("phonebook", longULocale.getKeywordValue("collation")); |
| assertNull(longULocale.getKeywordValue("zzyzx")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getKeywordValue(String, String)' |
| */ |
| public void testGetKeywordValueStringString() { |
| assertEquals("value", ULocale.getKeywordValue(longULocaleName, "key")); |
| assertEquals("phonebook", ULocale.getKeywordValue(longULocaleName, "collation")); |
| assertNull(ULocale.getKeywordValue(longULocaleName, "zzyzx")); |
| |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.canonicalize(String)' |
| */ |
| public void testCanonicalize() { |
| assertEquals("de@collation=phonebook", ULocale.canonicalize("de__PHONEBOOK")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.setKeywordValue(String, String)' |
| */ |
| public void testSetKeywordValueStringString() { |
| ULocale munged = longULocale.setKeywordValue("key", "C#"); |
| assertEquals("C#", munged.getKeywordValue("key")); |
| munged = munged.setKeywordValue("zzyzx", "grue"); |
| assertEquals("grue", munged.getKeywordValue("zzyzx")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.setKeywordValue(String, String, String)' |
| */ |
| public void testSetKeywordValueStringStringString() { |
| String munged = ULocale.setKeywordValue(longULocaleName, "key", "C#"); |
| assertEquals("C#", ULocale.getKeywordValue(munged, "key")); |
| munged = ULocale.setKeywordValue(munged, "zzyzx", "grue"); |
| assertEquals("grue", ULocale.getKeywordValue(munged, "zzyzx")); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Language()' |
| */ |
| public void testGetISO3Language() { |
| String il = ULocale.GERMANY.getISO3Language(); |
| String jl = Locale.GERMANY.getISO3Language(); |
| assertEquals(il, jl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Language(String)' |
| */ |
| public void testGetISO3LanguageString() { |
| String il = ULocale.getISO3Language(ULocale.GERMANY.getName()); |
| String jl = Locale.GERMANY.getISO3Language(); |
| assertEquals(il, jl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Country()' |
| */ |
| public void testGetISO3Country() { |
| String ic = ULocale.GERMANY.getISO3Country(); |
| String jc = Locale.GERMANY.getISO3Country(); |
| assertEquals(ic, jc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Country(String)' |
| */ |
| public void testGetISO3CountryString() { |
| String ic = ULocale.getISO3Country(ULocale.GERMANY.getName()); |
| String jc = Locale.GERMANY.getISO3Country(); |
| assertEquals(ic, jc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage()' |
| */ |
| public void testGetDisplayLanguage() { |
| String idl = ULocale.GERMANY.getDisplayLanguage(); |
| String jdl = Locale.GERMANY.getDisplayLanguage(); |
| assertEquals(idl, jdl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(ULocale)' |
| */ |
| public void testGetDisplayLanguageULocale() { |
| String idl = ULocale.GERMANY.getDisplayLanguage(ULocale.GERMANY); |
| String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); |
| assertEquals(idl, jdl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(String, String)' |
| */ |
| public void testGetDisplayLanguageStringString() { |
| String idl = ULocale.getDisplayLanguage(ULocale.GERMANY.getName(), "de_DE"); |
| String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); |
| assertEquals(idl, jdl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(String, ULocale)' |
| */ |
| public void testGetDisplayLanguageStringULocale() { |
| String idl = ULocale.getDisplayLanguage(ULocale.GERMANY.getName(), ULocale.GERMANY); |
| String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); |
| assertEquals(idl, jdl); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript()' |
| */ |
| public void testGetDisplayScript() { |
| String is = ULocale.TRADITIONAL_CHINESE.getDisplayScript(); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("Hant", is); |
| } else { |
| assertEquals("Traditional Chinese", is); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(ULocale)' |
| */ |
| public void testGetDisplayScriptULocale() { |
| String is = ULocale.TRADITIONAL_CHINESE.getDisplayScript(ULocale.GERMANY); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("Hant", is); |
| } else { |
| // TODO: look up expected value |
| assertEquals("Hant", is); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(String, String)' |
| */ |
| public void testGetDisplayScriptStringString() { |
| String is = ULocale.getDisplayScript("zh_Hant", "de_DE"); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("Hant", is); |
| } else { |
| // TODO: look up expected value |
| assertEquals("Hant", is); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(String, ULocale)' |
| */ |
| public void testGetDisplayScriptStringULocale() { |
| String is = ULocale.getDisplayScript("zh_Hant", ULocale.GERMANY); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("Hant", is); |
| } else { |
| // TODO: look up expected value |
| assertEquals("Hant", is); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry()' |
| */ |
| public void testGetDisplayCountry() { |
| String idc = ULocale.GERMANY.getDisplayCountry(); |
| String jdc = Locale.GERMANY.getDisplayCountry(); |
| assertEquals(idc, jdc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(ULocale)' |
| */ |
| public void testGetDisplayCountryULocale() { |
| String idc = ULocale.GERMANY.getDisplayCountry(ULocale.GERMANY); |
| String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); |
| assertEquals(idc, jdc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(String, String)' |
| */ |
| public void testGetDisplayCountryStringString() { |
| String idc = ULocale.getDisplayCountry("de_DE", "de_DE"); |
| String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); |
| assertEquals(idc, jdc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(String, ULocale)' |
| */ |
| public void testGetDisplayCountryStringULocale() { |
| String idc = ULocale.getDisplayCountry("de_DE", ULocale.GERMANY); |
| String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); |
| assertEquals(idc, jdc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant()' |
| */ |
| public void testGetDisplayVariant() { |
| String idv = new ULocale("de_DE_PHONEBOOK").getDisplayVariant(); |
| String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(); |
| assertEquals(jdv, idv); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(ULocale)' |
| */ |
| public void testGetDisplayVariantULocale() { |
| String idv = new ULocale("de_DE_PHONEBOOK").getDisplayVariant(ULocale.GERMANY); |
| String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); |
| assertEquals(jdv, idv); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(String, String)' |
| */ |
| public void testGetDisplayVariantStringString() { |
| String idv = ULocale.getDisplayVariant("de_DE_PHONEBOOK", "de_DE"); |
| String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); |
| assertEquals(jdv, idv); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(String, ULocale)' |
| */ |
| public void testGetDisplayVariantStringULocale() { |
| String idv = ULocale.getDisplayVariant("de_DE_PHONEBOOK", ULocale.GERMANY); |
| String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); |
| assertEquals(jdv, idv); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String)' |
| */ |
| public void testGetDisplayKeywordString() { |
| String idk = ULocale.getDisplayKeyword("collation"); |
| assertEquals("collation", idk); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String, String)' |
| */ |
| public void testGetDisplayKeywordStringString() { |
| String idk = ULocale.getDisplayKeyword("collation", "de_DE"); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("collation", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("collation", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String, ULocale)' |
| */ |
| public void testGetDisplayKeywordStringULocale() { |
| String idk = ULocale.getDisplayKeyword("collation", ULocale.GERMANY); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("collation", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("collation", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String)' |
| */ |
| public void testGetDisplayKeywordValueString() { |
| ULocale ul = new ULocale("de_DE@collation=phonebook"); |
| String idk = ul.getDisplayKeywordValue("collation"); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("phonebook", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("phonebook", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, ULocale)' |
| */ |
| public void testGetDisplayKeywordValueStringULocale() { |
| ULocale ul = new ULocale("de_DE@collation=phonebook"); |
| String idk = ul.getDisplayKeywordValue("collation", ULocale.GERMANY); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("phonebook", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("phonebook", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, String, String)' |
| */ |
| public void testGetDisplayKeywordValueStringStringString() { |
| String idk = ULocale.getDisplayKeywordValue("de_DE@collation=phonebook", "collation", "de_DE"); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("phonebook", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("phonebook", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, String, ULocale)' |
| */ |
| public void testGetDisplayKeywordValueStringStringULocale() { |
| String idk = ULocale.getDisplayKeywordValue("de_DE@collation=phonebook", "collation", ULocale.GERMANY); |
| if (ICUTestCase.testingWrapper) { |
| assertEquals("phonebook", idk); |
| } else { |
| // TODO: find real value |
| assertEquals("phonebook", idk); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName()' |
| */ |
| public void testGetDisplayName() { |
| String idn = ULocale.GERMANY.getDisplayName(); |
| String jdn = Locale.GERMANY.getDisplayName(); |
| assertEquals(idn, jdn); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(ULocale)' |
| */ |
| public void testGetDisplayNameULocale() { |
| String idn = ULocale.GERMANY.getDisplayName(ULocale.GERMANY); |
| String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); |
| assertEquals(idn, jdn); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(String, String)' |
| */ |
| public void testGetDisplayNameStringString() { |
| String idn = ULocale.getDisplayName("de_DE", "de_DE"); |
| String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); |
| assertEquals(idn, jdn); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(String, ULocale)' |
| */ |
| public void testGetDisplayNameStringULocale() { |
| String idn = ULocale.getDisplayName("de_DE", ULocale.GERMANY); |
| String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); |
| assertEquals(idn, jdn); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(String, ULocale[], boolean[])' |
| */ |
| public void testAcceptLanguageStringULocaleArrayBooleanArray() { |
| boolean[] fallback = new boolean[1]; |
| ULocale[] locales = { |
| new ULocale("en_CA"), |
| new ULocale("es_US"), |
| }; |
| ULocale result = ULocale.acceptLanguage("en-US, en-GB, en-CA, es-US", locales, fallback); |
| assertEquals(new ULocale("en_CA"), result); |
| assertFalse(fallback[0]); |
| result = ULocale.acceptLanguage("en-US, en-GB, es-US-NEWMEXICO", locales, fallback); |
| assertEquals(new ULocale("es_US"), result); |
| assertTrue(fallback[0]); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(ULocale[], ULocale[], boolean[])' |
| */ |
| public void testAcceptLanguageULocaleArrayULocaleArrayBooleanArray() { |
| boolean[] fallback = new boolean[1]; |
| ULocale[] locales = { |
| new ULocale("en_CA"), |
| new ULocale("es_US"), |
| }; |
| ULocale[] accept_locales = { |
| new ULocale("en_US"), |
| new ULocale("en_GB"), |
| new ULocale("en_CA"), |
| new ULocale("es_US"), |
| }; |
| ULocale[] accept_locales2 = { |
| new ULocale("en_US"), |
| new ULocale("en_GB"), |
| new ULocale("es_US_NEWMEXICO"), |
| }; |
| ULocale result = ULocale.acceptLanguage(accept_locales, locales, fallback); |
| assertEquals(new ULocale("en_CA"), result); |
| assertFalse(fallback[0]); |
| result = ULocale.acceptLanguage(accept_locales2, locales, fallback); |
| assertEquals(new ULocale("es_US"), result); |
| assertTrue(fallback[0]); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(String, boolean[])' |
| */ |
| public void testAcceptLanguageStringBooleanArray() { |
| boolean[] fallback = new boolean[1]; |
| ULocale result = ULocale.acceptLanguage("en-CA, en-GB, es-US", fallback); |
| assertEquals(new ULocale("en_CA"), result); |
| assertFalse(fallback[0]); |
| result = ULocale.acceptLanguage("es-US-NEWMEXICO", fallback); |
| assertNotNull(result); // actual result depends on jdk |
| assertTrue(fallback[0]); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(ULocale[], boolean[])' |
| */ |
| public void testAcceptLanguageULocaleArrayBooleanArray() { |
| boolean[] fallback = new boolean[1]; |
| ULocale[] accept_locales = { |
| new ULocale("en_CA"), |
| new ULocale("en_GB"), |
| new ULocale("es_US"), |
| }; |
| ULocale[] accept_locales2 = { |
| new ULocale("es_US_NEWMEXICO"), |
| }; |
| ULocale result = ULocale.acceptLanguage(accept_locales, fallback); |
| assertEquals(new ULocale("en_CA"), result); |
| assertFalse(fallback[0]); |
| result = ULocale.acceptLanguage(accept_locales2, fallback); |
| assertNotNull(result); // actual result depends on jdk |
| assertTrue(fallback[0]); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.toLanguageTag()' |
| */ |
| public void testToLanguageTag() { |
| ULocale[] test_ulocales = { |
| new ULocale("en_US"), |
| new ULocale(""), |
| new ULocale("de_DE@collation=phonebook"), |
| new ULocale("en_Latn_US_POSIX"), |
| new ULocale("th_TH@numbers=thai;calendar=buddhist"), |
| new ULocale("und_CN@timezone=PRC"), |
| new ULocale("iw_IL"), |
| }; |
| |
| String[] expected = { |
| "en-US", |
| "und", |
| "de-DE-u-co-phonebk", |
| "en-Latn-US-u-va-posix", |
| "th-TH-u-ca-buddhist-nu-thai", |
| "und-CN-u-tz-cnsha", |
| "he-IL", |
| }; |
| |
| for (int i = 0; i < test_ulocales.length; i++) { |
| String result = test_ulocales[i].toLanguageTag(); |
| assertEquals(expected[i], result); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.forLanguageTag()' |
| */ |
| public void testForLanguageTag() { |
| String[] test_tags = { |
| "en-us", |
| "Und-Us", |
| "ja-jp-u-ca-japanese", |
| "fr-FR-u-tz-frpar-ca-gregory", |
| }; |
| |
| ULocale[] expected = { |
| new ULocale("en_US"), |
| new ULocale("und_US"), |
| new ULocale("ja_JP@calendar=japanese"), |
| new ULocale("fr_FR@calendar=gregorian;timezone=Europe/Paris"), |
| }; |
| |
| for (int i = 0; i < test_tags.length; i++) { |
| ULocale result = ULocale.forLanguageTag(test_tags[i]); |
| assertEquals(expected[i], result); |
| } |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.getDefault(Category)' |
| */ |
| public void testGetDefaultCategory() { |
| ULocale dispLoc = ULocale.getDefault(Category.DISPLAY); |
| assertNotNull(dispLoc); |
| ULocale formLoc = ULocale.getDefault(Category.FORMAT); |
| assertNotNull(formLoc); |
| } |
| |
| /* |
| * Test method for 'com.ibm.icu.x.util.ULocale.setDefault(Category, ULocale)' |
| */ |
| public void testSetDefaultCategoryULocale() { |
| ULocale orgDefault = ULocale.getDefault(); |
| ULocale orgDisplay = ULocale.getDefault(Category.DISPLAY); |
| ULocale orgFormat = ULocale.getDefault(Category.FORMAT); |
| |
| ULocale jaUS = new ULocale("ja_US"); |
| ULocale.setDefault(jaUS); |
| |
| // setDefault(ULocale) updates category defaults |
| assertEquals(ULocale.getDefault(), jaUS); |
| assertEquals(ULocale.getDefault(Category.DISPLAY), jaUS); |
| assertEquals(ULocale.getDefault(Category.FORMAT), jaUS); |
| |
| ULocale frDE = new ULocale("fr_DE"); |
| ULocale.setDefault(Category.DISPLAY, frDE); |
| |
| // setDefault(Category, ULocale) only updates the category default |
| assertEquals(ULocale.getDefault(), jaUS); |
| assertEquals(ULocale.getDefault(Category.DISPLAY), frDE); |
| assertEquals(ULocale.getDefault(Category.FORMAT), jaUS); |
| |
| // restore the original |
| ULocale.setDefault(orgDefault); |
| ULocale.setDefault(Category.DISPLAY, orgDisplay); |
| ULocale.setDefault(Category.FORMAT, orgFormat); |
| |
| assertEquals(ULocale.getDefault(), orgDefault); |
| assertEquals(ULocale.getDefault(Category.DISPLAY), orgDisplay); |
| assertEquals(ULocale.getDefault(Category.FORMAT), orgFormat); |
| } |
| } |