1 9 package org.jboss.portal.test.common; 10 11 import java.util.Arrays ; 12 import java.util.Enumeration ; 13 import java.util.HashSet ; 14 import java.util.Locale ; 15 import java.util.ResourceBundle ; 16 import java.util.Set ; 17 import java.util.Vector ; 18 19 import junit.framework.TestCase; 20 21 import org.jboss.portal.common.util.ParentChildResourceBundle; 22 23 27 public class ParentChildResourceBundleTestCase extends TestCase 28 { 29 public ParentChildResourceBundleTestCase(String name) 30 { 31 super(name); 32 } 33 34 public void testBasic() 35 { 36 ResourceBundle parent = new ResourceBundle () 37 { 38 protected Object handleGetObject(String 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 getKeys() 51 { 52 Vector keys = new Vector (); 53 keys.add("key-a"); 54 keys.add("key-b"); 55 return keys.elements(); 56 } 57 public Locale getLocale() 58 { 59 return Locale.CHINA; 60 } 61 }; 62 ResourceBundle child = new ResourceBundle () 63 { 64 protected Object handleGetObject(String 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 getKeys() 77 { 78 Vector keys = new Vector (); 79 keys.add("key-a"); 80 keys.add("key-c"); 81 return keys.elements(); 82 } 83 public Locale getLocale() 84 { 85 return Locale.GERMAN; 86 } 87 }; 88 ResourceBundle 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 keys = new HashSet (Arrays.asList(new Object []{"key-a","key-b","key-c"})); 94 for (Enumeration e = bundle.getKeys();e.hasMoreElements();) 95 { 96 assertTrue(keys.remove(e.nextElement())); 97 } 98 assertTrue(keys.isEmpty()); 99 } 100 101 } 102 | Popular Tags |