1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package ch.qos.cal10n;
24
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.fail;
27
28 import java.util.Locale;
29
30 import ch.qos.cal10n.sample.Labels;
31 import org.junit.Test;
32
33 import ch.qos.cal10n.sample.Colors;
34 import ch.qos.cal10n.sample.Minimal;
35 import ch.qos.cal10n.sample.Host.OtherColors;
36
37 public class MessageConveyorTest {
38
39 @Test
40 public void smoke_EN() {
41 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
42 String val;
43
44 val = rbbmc.getMessage(Colors.BLUE);
45 assertEquals("violets are blue", val);
46
47 val = rbbmc.getMessage(Colors.GREEN, "apples");
48 assertEquals("apples are green", val);
49 }
50
51
52 @Test
53 public void nestedEnum_EN() {
54 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
55 String val;
56
57 val = rbbmc.getMessage(Colors.RED);
58 assertEquals("roses are red", val);
59
60 val = rbbmc.getMessage(OtherColors.RED);
61 assertEquals("roses are red", val);
62
63 val = rbbmc.getMessage(OtherColors.BLUE);
64 assertEquals("violets are blue", val);
65 }
66
67 @Test
68 public void smoke_FR() {
69 MessageConveyor rbbmc = new MessageConveyor(Locale.FRANCE);
70 String val;
71
72 val = rbbmc.getMessage(Colors.BLUE);
73 assertEquals("les violettes sont bleues", val);
74
75
76
77 val = rbbmc.getMessage(Colors.GREEN, "pommes");
78 assertEquals("les pommes sont verts", val);
79 }
80
81 @Test
82 public void mpo() {
83 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
84 MessageParameterObj mpo;
85 String val;
86
87 mpo = new MessageParameterObj(Colors.BLUE);
88 val = rbbmc.getMessage(mpo);
89 assertEquals("violets are blue", val);
90
91 mpo = new MessageParameterObj(Colors.GREEN, "apples");
92 val = rbbmc.getMessage(mpo);
93 assertEquals("apples are green", val);
94 }
95
96 @Test
97 public void failedRBLookup() {
98
99 MessageConveyor mc = new MessageConveyor(Locale.CHINA);
100 try {
101 mc.getMessage(Colors.BLUE);
102 fail("missing exception");
103 } catch (MessageConveyorException e) {
104 assertEquals(
105 "Failed to locate resource bundle [colors] for locale [zh_CN] for enum type [ch.qos.cal10n.sample.Colors]",
106 e.getMessage());
107 }
108 }
109
110 @Test
111 public void minimal() {
112 MessageConveyor mc = new MessageConveyor(Locale.ENGLISH);
113 assertEquals("A", mc.getMessage(Minimal.A));
114 }
115
116
117 @Test
118 public void specialCharacters() {
119 MessageConveyor mc = new MessageConveyor(Locale.ENGLISH);
120 assertEquals("A label \n with linefeed and unicode", mc.getMessage(Labels.L0));
121 assertEquals("Another \nlabel", mc.getMessage(Labels.L1));
122 }
123
124 }