1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Arrays; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.HashSet; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Locale; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Set; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class LocaleTest extends junit.framework.TestCase { 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale testLocale; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l; 31f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale defaultLocale; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 35229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#Locale(java.lang.String, java.lang.String) 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_lang_String() { 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.Locale(java.lang.String) 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale x = new Locale("xx"); 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create Locale", x.getVariant().equals("")); 41f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Locale(null); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 51229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#Locale(java.lang.String, java.lang.String) 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_lang_StringLjava_lang_String() { 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.Locale(java.lang.String, java.lang.String) 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale x = new Locale("xx", "CV"); 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create Locale", x.getCountry().equals("CV") 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project && x.getVariant().equals("")); 58f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Locale("xx", null); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 65f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new Locale(null, "CV"); 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 75229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#Locale(java.lang.String, java.lang.String, 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.lang.String) 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_ConstructorLjava_lang_StringLjava_lang_StringLjava_lang_String() { 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.Locale(java.lang.String, java.lang.String, 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.String) 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale x = new Locale("xx", "CV", "ZZ"); 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Failed to create Locale", x.getLanguage().equals("xx") 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project && (x.getCountry().equals("CV") && x.getVariant().equals("ZZ"))); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 85ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath new Locale(null, "CV", "ZZ"); 86ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath fail("expected NullPointerException with 1st parameter == null"); 87ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } catch (NullPointerException e) { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 91ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath new Locale("xx", null, "ZZ"); 92ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath fail("expected NullPointerException with 2nd parameter == null"); 93ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } catch (NullPointerException e) { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 97ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath new Locale("xx", "CV", null); 98ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath fail("expected NullPointerException with 3rd parameter == null"); 99ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } catch (NullPointerException e) { 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 104229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#clone() 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clone() { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.Object java.util.Locale.clone() 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Clone failed", l.clone().equals(l)); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 112229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#equals(java.lang.Object) 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_equalsLjava_lang_Object() { 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method boolean java.util.Locale.equals(java.lang.Object) 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l2 = new Locale("en", "CA", "WIN32"); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Same object returned false", testLocale.equals(testLocale)); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Same values returned false", testLocale.equals(l2)); 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Different locales returned true", !testLocale.equals(l)); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 124229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getAvailableLocales() 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getAvailableLocales() { 1275d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer// BEGIN Android-changed 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.Locale [] 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.Locale.getAvailableLocales() 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Assumes there will generally be about 10+ available locales... 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // even in minimal configurations for android 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale[] locales = Locale.getAvailableLocales(); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Wrong number of locales: " + locales.length, locales.length > 10); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // regression test for HARMONY-1514 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // HashSet can filter duplicate locales 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Set<Locale> localesSet = new HashSet<Locale>(Arrays.asList(locales)); 138f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals(localesSet.size(), locales.length); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Exception during test : " + e.getMessage()); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 1425d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer// END Android-changed 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 146229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getCountry() 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getCountry() { 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.getCountry() 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect country: " + testLocale.getCountry(), 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project testLocale.getCountry().equals("CA")); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 155229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getDefault() 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDefault() { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.util.Locale java.util.Locale.getDefault() 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("returns copy", Locale.getDefault() == Locale.getDefault()); 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale org = Locale.getDefault(); 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(l); 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale x = Locale.getDefault(); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(org); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to get locale", "fr_CA_WIN32", x.toString()); 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 168229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getDisplayCountry() 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayCountry() { 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.getDisplayCountry() 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect country: " 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + testLocale.getDisplayCountry(), testLocale 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDisplayCountry().equals("Canada")); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayCountryLjava_util_Locale() { 178dd9b761d3b32bf02de354cb228f83cf7697032efElliott Hughes assertEquals("Italie", Locale.ITALY.getDisplayCountry(new Locale("fr", "CA", "WIN32"))); 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 182229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getDisplayLanguage() 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayLanguage() { 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.Locale.getDisplayLanguage() 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect language: " 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + testLocale.getDisplayLanguage(), testLocale 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDisplayLanguage().equals("English")); 190f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for Harmony-1146 192f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Locale l_languageAE = new Locale("ae", ""); 193f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Avestan", l_languageAE.getDisplayLanguage()); 194ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 195ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath // Regression for HARMONY-4402 196ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale defaultLocale = Locale.getDefault(); 197ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath try { 198ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale locale = new Locale("no", "NO"); 199ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale.setDefault(locale); 200ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertEquals("norsk", locale.getDisplayLanguage()); 201ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } finally { 202ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale.setDefault(defaultLocale); 203ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayLanguageLjava_util_Locale() { 207dd9b761d3b32bf02de354cb228f83cf7697032efElliott Hughes assertEquals("anglais", new Locale("en", "CA", "WIN32").getDisplayLanguage(l)); 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayName() { 211dd9b761d3b32bf02de354cb228f83cf7697032efElliott Hughes assertEquals("English (Canada,WIN32)", new Locale("en", "CA", "WIN32").getDisplayName()); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayNameLjava_util_Locale() { 215dd9b761d3b32bf02de354cb228f83cf7697032efElliott Hughes assertEquals("anglais (Canada,WIN32)", new Locale("en", "CA", "WIN32").getDisplayName(l)); 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 219229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getDisplayVariant() 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayVariant() { 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.getDisplayVariant() 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect variant: " 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + testLocale.getDisplayVariant(), testLocale 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDisplayVariant().equals("WIN32")); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 229229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getDisplayVariant(java.util.Locale) 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getDisplayVariantLjava_util_Locale() { 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.Locale.getDisplayVariant(java.util.Locale) 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect variant: " 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + testLocale.getDisplayVariant(l), testLocale 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDisplayVariant(l).equals("WIN32")); 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 239ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath /** 240ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath * java.util.Locale#getISO3Country() 241ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath */ 242ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath public void test_getISO3Country() { 243ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath // Test for method java.lang.String java.util.Locale.getISO3Country() 244ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertTrue("Returned incorrect ISO3 country: " 245ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath + testLocale.getISO3Country(), testLocale.getISO3Country() 246ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath .equals("CAN")); 247ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 248ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale l = new Locale("", "CD"); 249ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertEquals("COD", l.getISO3Country()); 250ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } 251ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 252ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath /** 253ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath * java.util.Locale#getISO3Language() 254ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath */ 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getISO3Language() { 256ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath // Test for method java.lang.String java.util.Locale.getISO3Language() 257ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertTrue("Returned incorrect ISO3 language: " 258ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath + testLocale.getISO3Language(), testLocale.getISO3Language() 259ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath .equals("eng")); 260ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l = new Locale("ae"); 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("ave", l.getISO3Language()); 263f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for Harmony-1146 265f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Locale l_CountryCS = new Locale("", "CS"); 266f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("SCG", l_CountryCS.getISO3Country()); 267f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for Harmony-1129 269f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes l = new Locale("ak", ""); 270f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("aka", l.getISO3Language()); 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 274229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getISOCountries() 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getISOCountries() { 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String [] 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.Locale.getISOCountries() 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Assumes all countries are 2 digits, and that there will always be 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 230 countries on the list... 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] isoCountries = Locale.getISOCountries(); 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int length = isoCountries.length; 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int familiarCount = 0; 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < length; i++) { 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (isoCountries[i].length() != 2) { 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Wrong format for ISOCountries."); 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (isoCountries[i].equals("CA") || isoCountries[i].equals("BB") 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project || isoCountries[i].equals("US") 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project || isoCountries[i].equals("KR")) 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project familiarCount++; 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("ISOCountries missing.", familiarCount == 4 && length > 230); 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 297229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getISOLanguages() 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getISOLanguages() { 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String [] 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.util.Locale.getISOLanguages() 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Assumes always at least 131 ISOlanguages... 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] isoLang = Locale.getISOLanguages(); 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int length = isoLang.length; 305e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho 3065d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer // BEGIN Android-changed 307f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes // Language codes are 2- and 3-letter, with preference given 308e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho // to 2-letter codes where possible. 3-letter codes are used 309e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho // when lack a 2-letter equivalent. 310f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertTrue("Random element in wrong format.", 311e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho (isoLang[length / 2].length() == 2 || isoLang[length / 2].length() == 3) 312e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho && isoLang[length / 2].toLowerCase().equals(isoLang[length / 2])); 3135d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer // END Android-changed 314e124afe6e959d2c24d4ee943007cb5317c64eab5Claire Ho 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Wrong number of ISOLanguages.", length > 130); 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 319229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getLanguage() 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLanguage() { 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.getLanguage() 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect language: " + testLocale.getLanguage(), 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project testLocale.getLanguage().equals("en")); 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 328229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#getVariant() 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getVariant() { 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.getVariant() 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Returned incorrect variant: " + testLocale.getVariant(), 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project testLocale.getVariant().equals("WIN32")); 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 337229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#setDefault(java.util.Locale) 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_setDefaultLjava_util_Locale() { 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method void java.util.Locale.setDefault(java.util.Locale) 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale org = Locale.getDefault(); 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(l); 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale x = Locale.getDefault(); 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(org); 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Failed to set locale", "fr_CA_WIN32", x.toString()); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("tr", "")); 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String res1 = "\u0069".toUpperCase(); 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String res2 = "\u0049".toLowerCase(); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(org); 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong toUppercase conversion", "\u0130", res1); 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong toLowercase conversion", "\u0131", res2); 354f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(null); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 364229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.Locale#toString() 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_toString() { 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.lang.String java.util.Locale.toString() 368dd9b761d3b32bf02de354cb228f83cf7697032efElliott Hughes assertEquals("en_CA_WIN32", new Locale("en", "CA", "WIN32").toString()); 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l = new Locale("en", ""); 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 1", "en", l.toString()); 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("", "CA"); 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 2", "_CA", l.toString()); 374ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 375ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath // Non-bug difference for HARMONY-5442 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("", "CA", "var"); 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 2.5", "_CA_var", l.toString()); 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("en", "", "WIN"); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 4", "en__WIN", l.toString()); 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("en", "CA"); 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 6", "en_CA", l.toString()); 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("en", "CA", "VAR"); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 7", "en_CA_VAR", l.toString()); 384f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("", "", "var"); 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong representation 8", "", l.toString()); 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 389f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_hashCode() { 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l1 = new Locale("en", "US"); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale l2 = new Locale("fr", "CA"); 393f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(l1.hashCode() != l2.hashCode()); 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 396f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 397ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath /** 398ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath * {@value java.util.Locale#ROOT} 399ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath * @since 1.6 400ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath */ 401ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath public void test_constantROOT() { 402ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath Locale root = Locale.ROOT; 403ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertEquals("", root.getLanguage()); 404ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertEquals("", root.getCountry()); 405ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath assertEquals("", root.getVariant()); 406ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath } 407ba45f538a14c08015021e899f5883f07ed2ff237Narayan Kamath 4085d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer// BEGIN Android-removed 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// These locales are not part of the android reference impl 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// // Regression Test for HARMONY-2953 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// public void test_getISO() { 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// Locale locale = new Locale("an"); 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertEquals("arg", locale.getISO3Language()); 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// locale = new Locale("PS"); 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertEquals("pus", locale.getISO3Language()); 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// List<String> languages = Arrays.asList(Locale.getISOLanguages()); 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertTrue(languages.contains("ak")); 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// List<String> countries = Arrays.asList(Locale.getISOCountries()); 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// assertTrue(countries.contains("CS")); 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// } 4245d175dd4d7b128492ef7e3da6a77d80b8fd0aa22Tobias Thierer// END Android-removed 425f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets up the fixture, for example, open a network connection. This method 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is called before a test is executed. 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() { 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project defaultLocale = Locale.getDefault(); 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(Locale.US); 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project testLocale = new Locale("en", "CA", "WIN32"); 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = new Locale("fr", "CA", "WIN32"); 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tears down the fixture, for example, close a network connection. This 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method is called after a test is executed. 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() { 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(defaultLocale); 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 445