1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.text.translate;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21 import static org.junit.jupiter.api.Assertions.assertThrows;
22
23 import org.junit.jupiter.api.Test;
24
25
26
27
28 class UnicodeUnescaperTest {
29
30 @Test
31 void testLessThanFour() {
32 final UnicodeUnescaper escaper = new UnicodeUnescaper();
33 final String input = "\\0047\\u006";
34 assertThrows(IllegalArgumentException.class, () -> escaper.translate(input));
35 }
36
37 @Test
38 void testTooShort() {
39 assertThrows(IllegalArgumentException.class, () -> new UnicodeUnescaper().translate("\\u"));
40 }
41
42
43 @Test
44 void testUPlus() {
45 final UnicodeUnescaper escaper = new UnicodeUnescaper();
46 final String input = "\\u+0047";
47 assertEquals("G", escaper.translate(input), "Failed to unescape Unicode characters with 'u+' notation");
48 }
49
50 @Test
51 void testUuuuu() {
52 final UnicodeUnescaper escaper = new UnicodeUnescaper();
53 final String input = "\\uuuuuuuu0047";
54 final String result = escaper.translate(input);
55 assertEquals("G", result, "Failed to unescape Unicode characters with many 'u' characters");
56 }
57 }