1
2
3
4
5
6
7 package org.weda.message;
8
9 import java.util.Locale;
10 import junit.framework.TestCase;
11 import org.weda.message.impl.MessageImpl;
12 import org.weda.message.impl.MessageEntryImpl;
13
14 /**
15 *
16 * @author Mikhail Titov
17 */
18 public class MessageImplTest extends TestCase {
19
20 public MessageImplTest(String name) {
21 super(name);
22 }
23
24 public void test() throws Exception {
25 MessageImpl message = new MessageImpl();
26 message.setKey("message");
27 message.addMessageEntry(
28 createEntry("тестовое сообщение", "ru", "RU"));
29 message.addMessageEntry(
30 createEntry("test message UZ", "uz", null));
31 message.addMessageEntry(
32 createEntry("test message", "en", null));
33 message.addMessageEntry(
34 createEntry("test message US", "en", "US"));
35 message.init();
36 checkMessage(message);
37 }
38
39 public void test_defaultMessage() throws Exception {
40 MessageImpl message = new MessageImpl();
41 message.setDefaultMessage("default message");
42 message.setKey("message2");
43 message.init();
44 checkDefaultMessage(message);
45 }
46
47 public void test_missingMessage() throws Exception {
48 MessageImpl message = new MessageImpl();
49 message.setKey("message3");
50 message.init();
51 checkMissingMessage(message);
52 }
53
54 public void _test_showLanguagesAndCountries() {
55 System.out.println("Languages: ");
56 for (String language: Locale.getISOLanguages())
57 System.out.println(" "+language);
58 System.out.println("Countries: ");
59 for (String country: Locale.getISOCountries())
60 System.out.println(" "+country);
61 }
62
63 private MessageEntry createEntry(
64 String message, String language, String country)
65 {
66 MessageEntryImpl entry = new MessageEntryImpl();
67 entry.setMessage(message);
68 entry.setLanguage(language);
69 entry.setCountry(country);
70 return entry;
71 }
72
73 public void checkDefaultMessage(Message message) throws Exception {
74 Locale locale = new Locale("ru");
75 assertEquals("default message", message.getLocalizedMessage(locale));
76 }
77
78 public void checkMissingMessage(Message message) throws Exception {
79 Locale locale = new Locale("ru");
80 assertEquals(
81 "["+message.getKey().toUpperCase()+"]"
82 , message.getLocalizedMessage(locale));
83 }
84
85 public void checkMessage(Message message) throws Exception {
86 Locale locale = new Locale("ru", "RU");
87 assertEquals(
88 "тестовое сообщение", message.getLocalizedMessage(locale));
89 locale = new Locale("ru");
90 assertEquals("", locale.getCountry());
91 assertEquals(
92 "тестовое сообщение", message.getLocalizedMessage(locale));
93 locale = new Locale("en");
94 assertEquals(
95 "test message", message.getLocalizedMessage(locale));
96 locale = new Locale("en", "US");
97 assertEquals(
98 "test message US", message.getLocalizedMessage(locale));
99 locale = new Locale("uz");
100 assertEquals(
101 "test message UZ", message.getLocalizedMessage(locale));
102 }
103
104 }