/[schmitzm]/branches/2.3.x/src_junit/skrueger/i8n/TranslationTest.java
ViewVC logotype

Contents of /branches/2.3.x/src_junit/skrueger/i8n/TranslationTest.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1240 - (show annotations)
Fri Nov 5 13:02:30 2010 UTC (14 years, 3 months ago) by alfonx
File MIME type: text/plain
File size: 3367 byte(s)
Branch 2.3.x angelegt

1 package skrueger.i8n;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertTrue;
6
7 import java.awt.event.ActionEvent;
8 import java.awt.event.ActionListener;
9 import java.beans.PropertyChangeEvent;
10 import java.beans.PropertyChangeListener;
11 import java.util.concurrent.atomic.AtomicBoolean;
12
13 import org.junit.After;
14 import org.junit.Before;
15 import org.junit.Test;
16
17 public class TranslationTest {
18
19 @Before
20 public void setUp() throws Exception {
21 }
22
23 @After
24 public void tearDown() throws Exception {
25 }
26
27 @Test
28 public void testCopyToAndEquals() {
29 Translation t = new Translation();
30 Translation t2 = new Translation();
31 t.put("de", "berg");
32 t.put("en", "mountain");
33 t.copyTo(t2);
34 assertEquals(t2.keySet(), t.keySet());
35 assertEquals(t2.toOneLine(), t.toOneLine());
36 assertEquals(t2, t);
37
38 assertEquals(t.copyTo(null), t);
39 }
40
41 @Test
42 public void testCopyAndClone() {
43 Translation t = new Translation();
44 t.put("de", "berg");
45 t.put("en", "mountain");
46 Translation t2 = t.copy();
47
48 assertEquals(t2, t);
49
50 Translation t3 = t2.clone();
51 assertEquals(t3, t);
52 }
53
54 @Test
55 public void testActiveLangChanges() {
56 Translation t = new Translation();
57 final AtomicBoolean calledAl = new AtomicBoolean(false);
58 final AtomicBoolean calledL = new AtomicBoolean(false);
59 final AtomicBoolean calledC = new AtomicBoolean(false);
60
61 PropertyChangeListener alListener = new PropertyChangeListener() {
62
63 @Override
64 public void propertyChange(PropertyChangeEvent evt) {
65 calledAl.set(true);
66 }
67 };
68 Translation.addActiveLangChangeListener(alListener);
69
70 PropertyChangeListener localListener = new PropertyChangeListener() {
71
72 @Override
73 public void propertyChange(PropertyChangeEvent evt) {
74 calledL.set(true);
75 }
76 };
77 Translation.addLocaleChangeListener(localListener);
78
79 ActionListener anyChangeListener = new ActionListener() {
80
81 @Override
82 public void actionPerformed(ActionEvent e) {
83 calledC.set(true);
84 }
85 };
86 t.addTranslationChangeListener(anyChangeListener);
87
88 // Change the content
89 t.put("de", "change");
90 assertFalse(calledAl.get());
91 assertFalse(calledL.get());
92 assertTrue(calledC.get());
93
94 // Change active language by default
95 calledAl.set(false);
96 calledL.set(false);
97 calledC.set(false);
98 Translation.setActiveLang("de");
99 Translation.setActiveLang("en");
100
101 assertTrue(calledAl.get());
102 assertTrue(calledL.get());
103 assertFalse(calledC.get());
104
105 calledAl.set(false);
106 calledL.set(false);
107 Translation.setActiveLang("ar", false);
108 assertTrue(calledAl.get());
109 assertFalse(calledL.get());
110 assertFalse(calledC.get());
111
112 calledAl.set(false);
113 Translation.setActiveLang("ar", false);
114 assertFalse(
115 "if the same language is set again, it should not trigger events",
116 calledAl.get());
117 assertFalse(calledC.get());
118 }
119
120 @Test
121 public void testToString() {
122 Translation t = new Translation();
123 t.put("de", "de");
124 t.put("en", "en");
125 t.put("fr", "fr");
126 t.put("ru", "ru");
127
128 Translation.setActiveLang("de");
129 assertEquals("de", t.toString());
130 Translation.setActiveLang("ru");
131 assertEquals("ru", t.toString());
132 }
133
134 @Test
135 public void testFromOneLine() {
136 Translation t = new Translation();
137 t.fromOneLine("en{- 3 MBps/billion capita}");
138
139 assertEquals("- 3 MBps/billion capita", t.toString("en"));
140 }
141 }

Properties

Name Value
svn:eol-style native
svn:keywords Id URL
svn:mime-type text/plain

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26