KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > i18n > I18NUtilTest


1 package org.alfresco.i18n;
2
3 import java.util.Locale JavaDoc;
4
5 import junit.framework.TestCase;
6
7 /**
8  * I18NUtil unit tests
9  *
10  * @author Roy Wetherall
11  */

12 public class I18NUtilTest extends TestCase
13 {
14     private static final String JavaDoc BASE_RESOURCE_NAME = "org.alfresco.i18n.testMessages";
15     private static final String JavaDoc PARAM_VALUE = "television";
16     private static final String JavaDoc MSG_YES = "msg_yes";
17     private static final String JavaDoc MSG_NO = "msg_no";
18     private static final String JavaDoc MSG_PARAMS = "msg_params";
19     private static final String JavaDoc VALUE_YES = "Yes";
20     private static final String JavaDoc VALUE_NO = "No";
21     private static final String JavaDoc VALUE_PARAMS = "What no " + PARAM_VALUE + "?";
22     private static final String JavaDoc VALUE_FR_YES = "Oui";
23     private static final String JavaDoc VALUE_FR_NO = "Non";
24     private static final String JavaDoc VALUE_FR_PARAMS = "Que non " + PARAM_VALUE + "?";
25    
26     @Override JavaDoc
27     protected void setUp() throws Exception JavaDoc
28     {
29         // Re-set the current locale to be the default
30
I18NUtil.setLocale(Locale.getDefault());
31     }
32     
33     /**
34      * Test the set and get methods
35      */

36     public void testSetAndGet()
37     {
38         // Check that the default locale is returned
39
assertEquals(Locale.getDefault(), I18NUtil.getLocale());
40         
41         // Set the locals
42
I18NUtil.setLocale(Locale.CANADA_FRENCH);
43         assertEquals(Locale.CANADA_FRENCH, I18NUtil.getLocale());
44         
45         // Reset the locale
46
I18NUtil.setLocale(null);
47         assertEquals(Locale.getDefault(), I18NUtil.getLocale());
48     }
49     
50     /**
51      * Test getMessage
52      */

53     public void testGetMessage()
54     {
55         // Check with no bundles loaded
56
assertNull(I18NUtil.getMessage(MSG_NO));
57         
58         // Register the bundle
59
I18NUtil.registerResourceBundle(BASE_RESOURCE_NAME);
60
61         // Check default values
62
assertEquals(VALUE_YES, I18NUtil.getMessage(MSG_YES));
63         assertEquals(VALUE_NO, I18NUtil.getMessage(MSG_NO));
64         
65         // Check not existant value
66
assertNull(I18NUtil.getMessage("bad_key"));
67         
68         // Change the locale and re-test
69
I18NUtil.setLocale(new Locale JavaDoc("fr", "FR"));
70         
71         // Check values
72
assertEquals(VALUE_FR_YES, I18NUtil.getMessage(MSG_YES));
73         assertEquals(VALUE_FR_NO, I18NUtil.getMessage(MSG_NO));
74         
75         // Check values when overriding the locale
76
assertEquals(VALUE_YES, I18NUtil.getMessage(MSG_YES, Locale.getDefault()));
77         assertEquals(VALUE_NO, I18NUtil.getMessage(MSG_NO, Locale.getDefault()));
78     }
79     
80     /**
81      * Test getting a parameterised message
82      */

83     public void testGetMessageWithParams()
84     {
85         // Register the bundle
86
I18NUtil.registerResourceBundle(BASE_RESOURCE_NAME);
87         
88         // Check the default value
89
assertEquals(VALUE_PARAMS, I18NUtil.getMessage(MSG_PARAMS, new Object JavaDoc[]{PARAM_VALUE}));
90             
91         // Change the locale and re-test
92
I18NUtil.setLocale(new Locale JavaDoc("fr", "FR"));
93         
94         // Check the default value
95
assertEquals(VALUE_FR_PARAMS, I18NUtil.getMessage(MSG_PARAMS, new Object JavaDoc[]{PARAM_VALUE}));
96         
97         // Check values when overriding the locale
98
assertEquals(VALUE_PARAMS, I18NUtil.getMessage(MSG_PARAMS, Locale.getDefault(), new Object JavaDoc[]{PARAM_VALUE}));
99     }
100 }
101
Popular Tags