1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package ch.qos.cal10n.util;
23
24 import org.junit.Test;
25
26 import static org.junit.Assert.assertEquals;
27
28
29
30
31 public class LexicalUtilTest {
32
33
34 void verify(String in, String expected) {
35 StringBuilder inBuf = new StringBuilder(in);
36 StringBuilder outBuf = LexicalUtil.convertSpecialCharacters(inBuf);
37 assertEquals(expected, outBuf.toString());
38 }
39
40 @Test
41 public void identity() {
42 verify("abc", "abc");
43 }
44
45 @Test
46 public void empty() {
47 verify("", "");
48 }
49
50 @Test
51 public void withLF() {
52 verify("a\\nbc", "a\nbc");
53 }
54
55 @Test
56 public void withMultipleLF() {
57 verify("a\\nb\\rc", "a\nb\rc");
58 verify("a\\nb\\r", "a\nb\r");
59 verify("\\nb\\r", "\nb\r");
60 }
61
62 @Test
63 public void withUnicode() {
64 verify("a\\u00FCbc", "a\u00FCbc");
65 verify("a\\u00fcbc", "a\u00fcbc");
66 verify("a\\u2297bc", "a\u2297bc");
67
68 verify("a\\u2169bc", "a\u2169bc");
69 verify("\\u2169", "\u2169");
70 verify("a\\u2169", "a\u2169");
71
72 }
73
74 @Test
75 public void withEscapedColon() {
76 verify("foo\\:bar", "foo:bar");
77 }
78
79 @Test
80 public void withEscapedExclamation() {
81 verify("foo\\!bar", "foo!bar");
82 }
83
84 @Test
85 public void withEscapedHash() {
86 verify("foo\\#bar", "foo#bar");
87 }
88
89 @Test
90 public void withEscapedEquals() {
91 verify("foo\\=bar", "foo=bar");
92 }
93
94 @Test
95 public void testCal29() {
96 verify("\\\\n", "\\\\n");
97 verify("beans\\\\n\\\\nProducer", "beans\\\\n\\\\nProducer");
98 }
99 }