1
2
3
4
5
6
7
8 /
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public class HTMLEntityEncoderTest extends TestCase
40 {
41 private String srcPart1 = "\"&'<> ";
42
43 private String srcPart2 =
44 "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB" +
45 "\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8" +
46 "\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" +
47 "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" +
48 "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +
49 "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" +
50 "\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9" +
51 "\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\u0152\u0153\u0160\u0161\u0178\u0192\u02C6" +
52 "\u02DC\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C" +
53 "\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1" +
54 "\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE" +
55 "\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03D1\u03D2" +
56 "\u03D6\u2002\u2003\u2009\u200C\u200D\u200E\u200F\u2013\u2014\u2018\u2019\u201A" +
57 "\u201C\u201D\u201E\u2020\u2021\u2022\u2026\u2030\u2032\u2033\u2039\u203A\u203E" +
58 "\u2044\u20AC\u2111\u2118\u211C\u2122\u2135\u2190\u2191\u2192\u2193\u2194\u21B5" +
59 "\u21D0\u21D1\u21D2\u21D3\u21D4\u2200\u2202\u2203\u2205\u2207\u2208\u2209\u220B" +
60 "\u220F\u2211\u2212\u2217\u221A\u221D\u221E\u2220\u2227\u2228\u2229\u222A\u222B" +
61 "\u2234\u223C\u2245\u2248\u2260\u2261\u2264\u2265\u2282\u2283\u2284\u2286\u2287" +
62 "\u2295\u2297\u22A5\u22C5\u2308\u2309\u230A\u230B\u2329\u232A\u25CA\u2660\u2663" +
63 "\u2665\u2666\u0414\u0413";
64
65 private String outPart2Iso2 =
66 "¡¢£\u00A4¥¦\u00A7\u00A8©ª" +
67 "«¬\u00AD®¯\u00B0±²³\u00B4µ¶·" +
68 "\u00B8¹º»¼½¾¿À\u00C1\u00C2" +
69 "Ã\u00C4ÅÆ\u00C7È\u00C9Ê\u00CBÌ\u00CD\u00CE" +
70 "ÏÐÑÒ\u00D3\u00D4Õ\u00D6\u00D7ØÙ\u00DA" +
71 "Û\u00DC\u00DDÞ\u00DFà\u00E1\u00E2ã\u00E4åæ" +
72 "\u00E7è\u00E9ê\u00EBì\u00ED\u00EEïðñò" +
73 "\u00F3\u00F4õ\u00F6\u00F7øù\u00FAû\u00FC\u00FDþ" +
74 "ÿŒœ\u0160\u0161Ÿƒˆ˜ΑΒΓ" +
75 "ΔΕΖΗΘΙΚΛΜΝΞΟΠ" +
76 "ΡΣΤΥΦΧΨΩαβγδε" +
77 "ζηθικλμνξοπρςσ" +
78 "τυφχψωϑϒϖ   ‌" +
79 "‍‎‏–—‘’‚“”„†" +
80 "‡•…‰′″‹›‾⁄€" +
81 "ℑ℘ℜ™ℵ←↑→↓↔↵⇐" +
82 "⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏" +
83 "∑−∗√∝∞∠∧∨∩∪∫∴∼" +
84 "≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥" +
85 "⋅⌈⌉⌊⌋⟨⟩◊♠♣♥♦" +
86 "ДГ";
87
88 /***
89 * Constructor for HTMLEntityEncoderTest.
90 * @param arg0
91 */
92 public HTMLEntityEncoderTest(String arg0)
93 {
94 super(arg0);
95 }
96
97
98
99
100
101 public void testEncodeAttribute()
102 {
103 HTMLEntityEncoder encoder = new HTMLEntityEncoder();
104
105 String src = srcPart1+srcPart2;
106 String outDblQuote1 = ""&'<> ";
107 String outDblQuote = outDblQuote1+outPart2Iso2;
108 String outQuote = "\"&'<> "+outPart2Iso2;
109
110 String realDblQuote = encoder.encodeAttribute(src, "ISO-8859-2", true);
111 assertEquals(realDblQuote, outDblQuote);
112
113 String realQuote = encoder.encodeAttribute(src, "ISO-8859-2", false);
114 assertEquals(realQuote, outQuote);
115
116 realDblQuote = encoder.encodeAttribute(src, "ISO-8859-2");
117 assertEquals(realDblQuote, outDblQuote);
118
119 realDblQuote = encoder.encodeAttribute(null, "ISO-8859-2");
120 assertNull(realDblQuote);
121
122 realDblQuote = encoder.encodeAttribute("", "ISO-8859-2");
123 assertEquals("", realDblQuote);
124
125 realDblQuote = encoder.encodeAttribute(src, null);
126 assertEquals(realDblQuote, outDblQuote1+srcPart2);
127 }
128
129 public void testEncodeHTML()
130 {
131 HTMLEntityEncoder encoder = new HTMLEntityEncoder();
132
133 String src = srcPart1+srcPart2;
134 String out = "\"&'<> "+outPart2Iso2;
135
136 String realOut = encoder.encodeHTML(src, "ISO-8859-2");
137 assertEquals(realOut, out);
138
139 realOut = encoder.encodeHTML(null, "ISO-8859-2");
140 assertNull(realOut);
141
142 realOut = encoder.encodeHTML("", "ISO-8859-2");
143 assertEquals("", realOut);
144
145 realOut = encoder.encodeHTML(src, null);
146 assertEquals(realOut, src);
147 }
148 }