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 20ab28398a565e5ce8a56cdfd50ac6226e5317cf66The Android Open Source Projectimport dalvik.annotation.KnownFailure; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.File; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.MalformedURLException; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URL; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URLClassLoader; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Enumeration; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Locale; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.MissingResourceException; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ResourceBundle; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.StringTokenizer; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Vector; 31ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathimport org.apache.harmony.tests.java.util.support.B; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport tests.support.resource.Support_Resources; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class ResourceBundleTest extends junit.framework.TestCase { 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3687bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes public void test_getCandidateLocales() throws Exception { 3787bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes ResourceBundle.Control c = ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT); 3887bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes assertEquals("[en_US, en, ]", c.getCandidateLocales("base", Locale.US).toString()); 3987bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes assertEquals("[de_CH, de, ]", c.getCandidateLocales("base", new Locale("de", "CH")).toString()); 4087bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes } 4187bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 43229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.ResourceBundle#getBundle(java.lang.String, 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.util.Locale) 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBundleLjava_lang_StringLjava_util_Locale() { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale defLocale = Locale.getDefault(); 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 532c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle fr_FR_VAR", "frFRVARValue4", bundle.getString("parent4")); 542c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "v1")); 562c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle fr_FR_v1", "frFRValue4", bundle.getString("parent4")); 572c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "US", "VAR")); 592c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle fr_US_var", "frValue4", bundle.getString("parent4")); 602c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "VAR")); 622c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle de_FR_var", "enUSValue4", bundle.getString("parent4")); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("fr", "FR", "VAR")); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "v1")); 662c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle de_FR_var 2", "frFRVARValue4", bundle.getString("parent4")); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("de", "US")); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "var")); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong bundle de_FR_var 2", "parentValue4", bundle.getString("parent4") 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 7487bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes ResourceBundle.getBundle(null, Locale.US); 7587bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes fail("NullPointerException expected"); 7687bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes } catch (NullPointerException ee) { 7787bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes //expected 7887bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes } 7987bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes try { 8087bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes ResourceBundle.getBundle("blah", (Locale) null); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 8687bd57adc8c2a8db21b46a249df19ff8c919c0e6Elliott Hughes 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle("", new Locale("xx", "yy")); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 96229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.ResourceBundle#getBundle(java.lang.String, 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.util.Locale, java.lang.ClassLoader) 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 99ab28398a565e5ce8a56cdfd50ac6226e5317cf66The Android Open Source Project @KnownFailure("It's not allowed to pass null as parent class loader to" 100ab28398a565e5ce8a56cdfd50ac6226e5317cf66The Android Open Source Project + " a new ClassLoader anymore. Maybe we need to change" 101ab28398a565e5ce8a56cdfd50ac6226e5317cf66The Android Open Source Project + " URLClassLoader to allow this? It's not specified.") 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBundleLjava_lang_StringLjava_util_LocaleLjava_lang_ClassLoader() { 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String classPath = System.getProperty("java.class.path"); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project StringTokenizer tok = new StringTokenizer(classPath, File.pathSeparator); 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Vector<URL> urlVec = new Vector<URL>(); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String resPackage = Support_Resources.RESOURCE_PACKAGE; 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while (tok.hasMoreTokens()) { 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String path = tok.nextToken(); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String url; 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (new File(path).isDirectory()) 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project url = "file:" + path + resPackage + "subfolder/"; 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project else 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project url = "jar:file:" + path + "!" + resPackage + "subfolder/"; 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project urlVec.addElement(new URL(url)); 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MalformedURLException e) { 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URL[] urls = new URL[urlVec.size()]; 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < urlVec.size(); i++) 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project urls[i] = urlVec.elementAt(i); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URLClassLoader loader = new URLClassLoader(urls, null); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = Support_Resources.RESOURCE_PACKAGE_NAME 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + ".hyts_resource"; 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle = ResourceBundle.getBundle(name, Locale 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getDefault()); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong value read", "parent", bundle.getString("property")); 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, Locale.getDefault(), loader); 130f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong cached value", 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "resource", bundle.getString("property")); 132f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(null, Locale.getDefault(), loader); 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 139f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(name, null, loader); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 146f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 148565a85d06ab8bc321d39f12012468cdfb65f5cfeElliott Hughes ResourceBundle.getBundle(name, Locale.getDefault(), (ClassLoader) null); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle("", Locale.getDefault(), loader); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression test for Harmony-3823 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project B bb = new B(); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String s = bb.find("nonexistent"); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = bb.find("name"); 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Wrong property got", "Name", s); 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 169229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.ResourceBundle#getString(java.lang.String) 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getStringLjava_lang_String() { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 176f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent4", 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARValue4", bundle.getString("parent4")); 178f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent3", 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRValue3", bundle.getString("parent3")); 180f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent2", 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frValue2", bundle.getString("parent2")); 182f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent1", 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "parentValue1", bundle.getString("parent1")); 184f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child3", 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARChildValue3", bundle.getString("child3")); 186f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child2", 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARChildValue2", bundle.getString("child2")); 188f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child1", 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARChildValue1", bundle.getString("child1")); 190f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getString(null); 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getString(""); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getString("IntegerVal"); 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ClassCastException expected"); 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException ee) { 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBundle_getClassName() { 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression test for Harmony-1759 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale locale = Locale.GERMAN; 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String nonExistentBundle = "Non-ExistentBundle"; 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(nonExistentBundle, locale, this.getClass() 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getClassLoader()); 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected!"); 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException e) { 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(nonExistentBundle + "_" + locale, e.getClassName()); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 223f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(nonExistentBundle, locale); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected!"); 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException e) { 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(nonExistentBundle + "_" + locale, e.getClassName()); 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project locale = Locale.getDefault(); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(nonExistentBundle); 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected!"); 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException e) { 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(nonExistentBundle + "_" + locale, e.getClassName()); 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 239f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project class Mock_ResourceBundle extends ResourceBundle { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Enumeration<String> getKeys() { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected Object handleGetObject(String key) { 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 251f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_constructor() { 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(new Mock_ResourceBundle()); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getLocale() { 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale loc = Locale.getDefault(); 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("fr_FR_VAR", bundle.getLocale().toString()); 264f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "v1")); 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("fr_FR", bundle.getLocale().toString()); 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "US", "VAR")); 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("fr", bundle.getLocale().toString()); 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "VAR")); 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("en_US", bundle.getLocale().toString()); 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "v1")); 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("en_US", bundle.getLocale().toString()); 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("de", "FR", "var")); 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("en_US", bundle.getLocale().toString()); 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(loc); 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getObjectLjava_lang_String() { 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 288f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent4", 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARValue4", (String)bundle.getObject("parent4")); 290f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent3", 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRValue3", (String)bundle.getObject("parent3")); 292f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent2", 2932c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson "frValue2", (String) bundle.getObject("parent2")); 294f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value parent1", 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "parentValue1", (String)bundle.getObject("parent1")); 296f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child3", 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARChildValue3", (String)bundle.getObject("child3")); 298f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child2", 2992c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson "frFRVARChildValue2", (String) bundle.getObject("child2")); 300f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value child1", 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "frFRVARChildValue1", (String)bundle.getObject("child1")); 302f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes assertEquals("Wrong value IntegerVal", 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 1, bundle.getObject("IntegerVal")); 304f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getObject(null); 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getObject(""); 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getStringArrayLjava_lang_String() { 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 325f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String[] array = bundle.getStringArray("StringArray"); 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for(int i = 0; i < array.length; i++) { 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("Str" + (i + 1), array[i]); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 330f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getStringArray(null); 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getStringArray(""); 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle.getStringArray("IntegerVal"); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ClassCastException expected"); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException ee) { 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getBundleLjava_lang_String() { 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle bundle; 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String name = "tests.support.Support_TestResource"; 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale defLocale = Locale.getDefault(); 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("en", "US")); 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3602c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("enUSValue4", bundle.getString("parent4")); 3612c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("fr", "FR", "v1")); 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3642c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle fr_FR_v1", "frFRValue4", bundle.getString("parent4")); 3652c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("fr", "US", "VAR")); 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3682c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle fr_US_var", "frValue4", bundle.getString("parent4")); 3692c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("de", "FR", "VAR")); 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3722c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle de_FR_var", "parentValue4", bundle.getString("parent4")); 3732c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("de", "FR", "v1")); 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3762c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle de_FR_var 2", "parentValue4", bundle.getString("parent4")); 3772c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Locale.setDefault(new Locale("de", "FR", "var")); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bundle = ResourceBundle.getBundle(name); 3802c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson assertEquals("Wrong bundle de_FR_var 2", "parentValue4", bundle.getString("parent4")); 381f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(null); 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException expected"); 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException ee) { 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ResourceBundle.getBundle(""); 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("MissingResourceException expected"); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (MissingResourceException ee) { 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3962c98427a50610d4991e9b0ada6cbc7aceb194580Jesse Wilson Locale.setDefault(defLocale); 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 399