KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > portal > test > common > ParentChildResourceBundleTestCase


1 /*****************************************
2  * *
3  * JBoss Portal: The OpenSource Portal *
4  * *
5  * Distributable under LGPL license. *
6  * See terms of license at gnu.org. *
7  * *
8  *****************************************/

9 package org.jboss.portal.test.common;
10
11 import java.util.Arrays JavaDoc;
12 import java.util.Enumeration JavaDoc;
13 import java.util.HashSet JavaDoc;
14 import java.util.Locale JavaDoc;
15 import java.util.ResourceBundle JavaDoc;
16 import java.util.Set JavaDoc;
17 import java.util.Vector JavaDoc;
18
19 import junit.framework.TestCase;
20
21 import org.jboss.portal.common.util.ParentChildResourceBundle;
22
23 /**
24  * @author <a HREF="mailto:julien@jboss.org">Julien Viet</a>
25  * @version $Revision: 1.2 $
26  */

27 public class ParentChildResourceBundleTestCase extends TestCase
28 {
29    public ParentChildResourceBundleTestCase(String JavaDoc name)
30    {
31       super(name);
32    }
33
34    public void testBasic()
35    {
36       ResourceBundle JavaDoc parent = new ResourceBundle JavaDoc()
37       {
38          protected Object JavaDoc handleGetObject(String JavaDoc key)
39          {
40             if ("key-a".equals(key))
41             {
42                return "parent-a";
43             }
44             if ("key-b".equals(key))
45             {
46                return "parent-b";
47             }
48             return null;
49          }
50          public Enumeration JavaDoc getKeys()
51          {
52             Vector JavaDoc keys = new Vector JavaDoc();
53             keys.add("key-a");
54             keys.add("key-b");
55             return keys.elements();
56          }
57          public Locale JavaDoc getLocale()
58          {
59             return Locale.CHINA;
60          }
61       };
62       ResourceBundle JavaDoc child = new ResourceBundle JavaDoc()
63       {
64          protected Object JavaDoc handleGetObject(String JavaDoc key)
65          {
66             if ("key-a".equals(key))
67             {
68                return "child-a";
69             }
70             if ("key-c".equals(key))
71             {
72                return "child-c";
73             }
74             return null;
75          }
76          public Enumeration JavaDoc getKeys()
77          {
78             Vector JavaDoc keys = new Vector JavaDoc();
79             keys.add("key-a");
80             keys.add("key-c");
81             return keys.elements();
82          }
83          public Locale JavaDoc getLocale()
84          {
85             return Locale.GERMAN;
86          }
87       };
88       ResourceBundle JavaDoc bundle = new ParentChildResourceBundle(parent, child);
89       assertEquals(Locale.GERMAN, bundle.getLocale());
90       assertEquals("child-a", bundle.getString("key-a"));
91       assertEquals("parent-b", bundle.getString("key-b"));
92       assertEquals("child-c", bundle.getString("key-c"));
93       Set JavaDoc keys = new HashSet JavaDoc(Arrays.asList(new Object JavaDoc[]{"key-a","key-b","key-c"}));
94       for (Enumeration JavaDoc e = bundle.getKeys();e.hasMoreElements();)
95       {
96          assertTrue(keys.remove(e.nextElement()));
97       }
98       assertTrue(keys.isEmpty());
99    }
100
101 }
102
Popular Tags