1 package cintoo.messages.bundle.xml; 2 3 import org.testng.Assert; 4 import org.testng.annotations.Configuration; 5 import org.testng.annotations.Test; 6 7 import java.io.InputStream ; 8 import java.io.IOException ; 9 import java.util.*; 10 11 public class TestXmlResourceBundle { 12 private Locale locale; 13 private String name; 14 private XmlResourceBundleFactory factory; 15 16 @Configuration(beforeTestMethod = true) 17 public void setUp() { 18 locale = new Locale("de", "de"); 19 name = "test1"; 20 factory = new XmlResourceBundleFactory(); 21 } 22 23 @Test 24 public void testGetKeys() { 25 XmlResourceBundleFactory factory = new XmlResourceBundleFactory(); 26 ResourceBundle bundle = null; 27 try { 28 bundle = factory.loadBundle(getStream(name, locale), locale); 29 } catch (IOException e) { 30 e.printStackTrace(); 31 } 32 List<String > keys = getList(bundle.getKeys()); 33 Assert.assertEquals(keys.size(), 3, "getKeys returns correct number of keys"); 34 Assert.assertTrue( keys.contains("testkey1"), "getKeys returns correct key"); 35 Assert.assertTrue( keys.contains("testkey2"), "getKeys returns correct key"); 36 Assert.assertTrue( keys.contains("testkey3"), "getKeys returns correct key"); 37 } 38 39 private List<String > getList(Enumeration enumeration) { 40 List<String > keys = new ArrayList<String >(); 41 while (enumeration.hasMoreElements()) { 42 keys.add((String ) enumeration.nextElement()); 43 } 44 return keys; 45 } 46 47 private InputStream getStream(String name, Locale locale) { 48 List<String > names = factory.expand(name, locale); 49 return this.getClass().getResourceAsStream("/" + names.get(0)); 50 } 51 52 @Test 53 public void testExpand() { 54 List<String > names = factory.expand("test1", new Locale("de", "de")); 55 Assert.assertEquals(names.size(), 3, "Expand returns three name"); 56 Assert.assertTrue( names.contains("test1_de_DE.xml"), "Expand contains correct name"); 57 } 58 59 @Test 60 public void testGetObject() { 61 XmlResourceBundleFactory factory = new XmlResourceBundleFactory(); 62 ResourceBundle bundle = null; 63 try { 64 bundle = factory.loadBundle(getStream(name, locale), locale); 65 } catch (IOException e) { 66 e.printStackTrace(); 67 } 68 Assert.assertEquals("testvalue1", bundle.getString("testkey1")); 69 } 70 71 @Test 72 public void testLocale() { 73 XmlResourceBundleFactory factory = new XmlResourceBundleFactory(); 74 XmlResourceBundle bundle = null; 75 try { 76 bundle = (XmlResourceBundle) factory.loadBundle(getStream(name, locale), locale); 77 } catch (IOException e) { 78 e.printStackTrace(); 79 } 80 Assert.assertEquals(new Locale("de", "de"), bundle.getLocale()); 81 } 82 83 } 84 | Popular Tags |