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