ListResourceBundleTest.java revision 561ee011997c6c2f1befbfaa9d5f0a99771c1d63
1731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick/* 2c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * Licensed to the Apache Software Foundation (ASF) under one or more 3c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * contributor license agreements. See the NOTICE file distributed with 4c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * this work for additional information regarding copyright ownership. 5c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * The ASF licenses this file to You under the Apache License, Version 2.0 6c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * (the "License"); you may not use this file except in compliance with 7c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * the License. You may obtain a copy of the License at 8c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * 9c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * http://www.apache.org/licenses/LICENSE-2.0 10c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * 11c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * Unless required by applicable law or agreed to in writing, software 12c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * distributed under the License is distributed on an "AS IS" BASIS, 13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * See the License for the specific language governing permissions and 15c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * limitations under the License. 16c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott */ 17c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 18c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottpackage org.apache.harmony.luni.tests.java.util; 19c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 20c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport java.util.Enumeration; 21c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport java.util.Locale; 22c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport java.util.ResourceBundle; 23c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport java.util.Set; 24c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport java.util.Vector; 25c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 26c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottimport tests.resources.subfolder.tests.resources.hyts_resource_fr_FR; 27c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottpublic class ListResourceBundleTest extends junit.framework.TestCase { 28c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 29c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott /** 30c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * @tests java.util.ListResourceBundle#getKeys() 31c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott */ 32c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott public void test_getKeys() { 33c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott ResourceBundle bundle; 34c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott String name = "tests.support.Support_TestResource"; 35c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott Locale.setDefault(new Locale("en", "US")); 36c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott bundle = ResourceBundle.getBundle(name, new Locale("fr", "FR", "VAR")); 37c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott Enumeration<String> keys = bundle.getKeys(); 38c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott Vector<String> result = new Vector<String>(); 39c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott while (keys.hasMoreElements()) { 40c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott result.addElement(keys.nextElement()); 41c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 42c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key parent1", result.contains("parent1")); 43c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key parent2", result.contains("parent2")); 44c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key parent3", result.contains("parent3")); 45c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key parent4", result.contains("parent4")); 46c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key child1", result.contains("child1")); 47c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key child2", result.contains("child2")); 48c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue("Missing key child3", result.contains("child3")); 49c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 50c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 51c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott /** 52c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * @tests {@link java.util.ListResourceBundle#handleKeySet()} 53c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott * @since 1.6 54c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott */ 55c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott @SuppressWarnings("nls") 56c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott public void test_handleKeySet() { 57c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott ResourceBundle.clearCache(); 58c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott hyts_resource_fr_FR bundle = (hyts_resource_fr_FR) ResourceBundle 59c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott .getBundle( 60c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott "tests.resources.subfolder.tests.resources.hyts_resource", 61c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott new Locale("fr", "FR")); 62c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott Set<String> set = bundle.handleKeySet(); 63c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertEquals(4, set.size()); 64c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subChild1")); 65c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subChild2")); 66c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent3")); 67c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent4")); 68c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott set = bundle.keySet(); 69c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertEquals(6, set.size()); 70c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subChild1")); 71c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subChild2")); 72c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent1")); 73c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent2")); 74c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent3")); 75c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott assertTrue(set.contains("subParent4")); 76c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 77c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 78c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott public void test_handleGetObject(){ 79c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott ResourceBundle.clearCache(); 80c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott hyts_resource_fr_FR bundle = (hyts_resource_fr_FR) ResourceBundle 81c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott .getBundle( 82c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott "tests.resources.subfolder.tests.resources.hyts_resource", 83c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott new Locale("fr", "FR")); 84c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott try{ 85c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott bundle.handleGetObject(null); 86c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott fail("Should throw NPE"); 87c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott }catch(NullPointerException e){ 88c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 89731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick } 90c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott protected void setUp() { 91c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 92c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 93c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott protected void tearDown() { 94c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott } 95c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} 96c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch