Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / intl / uconv / tests / test_unicode_noncharacterescapes.html
blob58cbe84ab0776bc9874f6425a814e220544f3ad9
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=445886
5 -->
6 <head>
7 <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
8 <title>Test for Unicode non-characters</title>
9 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
11 </head>
12 <body onload="Inject()">
13 <pre id="test">
14 <script class="testbody" type="text/javascript">
16 /** Test that unicode non-characters are not discarded **/
17 function test()
19 is($("display").innerHTML,"All good.", "Noncharacters not stripped");
20 SimpleTest.finish();
23 function Inject()
25 // script fragments containing Unicode non-characters
26 try {
27 // U+FDD0
28 eval("$(\"display\").inner\ufdd0HTML += \" U+FDD0 is evil\"");
29 } catch(e) {}
30 try {
31 // U+FDD1
32 eval("$(\"display\").inner\ufdd1HTML += \" U+FDD1 is evil\"");
33 } catch(e) {}
34 try {
35 // U+FDD2
36 eval("$(\"display\").inner\ufdd2HTML += \" U+FDD2 is evil\"");
37 } catch(e) {}
38 try {
39 // U+FDD3
40 eval("$(\"display\").inner\ufdd3HTML += \" U+FDD3 is evil\"");
41 } catch(e) {}
42 try {
43 // U+FDD4
44 eval("$(\"display\").inner\ufdd4HTML += \" U+FDD4 is evil\"");
45 } catch(e) {}
46 try {
47 // U+FDD5
48 eval("$(\"display\").inner\ufdd5HTML += \" U+FDD5 is evil\"");
49 } catch(e) {}
50 try {
51 // U+FDD6
52 eval("$(\"display\").inner\ufdd6HTML += \" U+FDD6 is evil\"");
53 } catch(e) {}
54 try {
55 // U+FDD7
56 eval("$(\"display\").inner\ufdd7HTML += \" U+FDD7 is evil\"");
57 } catch(e) {}
58 try {
59 // U+FDD8
60 eval("$(\"display\").inner\ufdd8HTML += \" U+FDD8 is evil\"");
61 } catch(e) {}
62 try {
63 // U+FDD9
64 eval("$(\"display\").inner\ufdd9HTML += \" U+FDD9 is evil\"");
65 } catch(e) {}
66 try {
67 // U+FDDA
68 eval("$(\"display\").inner\ufddaHTML += \" U+FDDA is evil\"");
69 } catch(e) {}
70 try {
71 // U+FDDB
72 eval("$(\"display\").inner\ufddbHTML += \" U+FDDB is evil\"");
73 } catch(e) {}
74 try {
75 // U+FDDC
76 eval("$(\"display\").inner\ufddcHTML += \" U+FDDC is evil\"");
77 } catch(e) {}
78 try {
79 // U+FDDD
80 eval("$(\"display\").inner\ufdddHTML += \" U+FDDD is evil\"");
81 } catch(e) {}
82 try {
83 // U+FDDE
84 eval("$(\"display\").inner\ufddeHTML += \" U+FDDE is evil\"");
85 } catch(e) {}
86 try {
87 // U+FDDF
88 eval("$(\"display\").inner\ufddfHTML += \" U+FDDF is evil\"");
89 } catch(e) {}
90 try {
91 // U+FDE0
92 eval("$(\"display\").inner\ufde0HTML += \" U+FDE0 is evil\"");
93 } catch(e) {}
94 try {
95 // U+FDE1
96 eval("$(\"display\").inner\ufde1HTML += \" U+FDE1 is evil\"");
97 } catch(e) {}
98 try {
99 // U+FDE2
100 eval("$(\"display\").inner\ufde2HTML += \" U+FDE2 is evil\"");
101 } catch(e) {}
102 try {
103 // U+FDE3
104 eval("$(\"display\").inner\ufde3HTML += \" U+FDE3 is evil\"");
105 } catch(e) {}
106 try {
107 // U+FDE4
108 eval("$(\"display\").inner\ufde4HTML += \" U+FDE4 is evil\"");
109 } catch(e) {}
110 try {
111 // U+FDE5
112 eval("$(\"display\").inner\ufde5HTML += \" U+FDE5 is evil\"");
113 } catch(e) {}
114 try {
115 // U+FDE6
116 eval("$(\"display\").inner\ufde6HTML += \" U+FDE6 is evil\"");
117 } catch(e) {}
118 try {
119 // U+FDE7
120 eval("$(\"display\").inner\ufde7HTML += \" U+FDE7 is evil\"");
121 } catch(e) {}
122 try {
123 // U+FDE8
124 eval("$(\"display\").inner\ufde8HTML += \" U+FDE8 is evil\"");
125 } catch(e) {}
126 try {
127 // U+FDE9
128 eval("$(\"display\").inner\ufde9HTML += \" U+FDE9 is evil\"");
129 } catch(e) {}
130 try {
131 // U+FDEA
132 eval("$(\"display\").inner\ufdeaHTML += \" U+FDEA is evil\"");
133 } catch(e) {}
134 try {
135 // U+FDEB
136 eval("$(\"display\").inner\ufdebHTML += \" U+FDEB is evil\"");
137 } catch(e) {}
138 try {
139 // U+FDEC
140 eval("$(\"display\").inner\ufdecHTML += \" U+FDEC is evil\"");
141 } catch(e) {}
142 try {
143 // U+FDED
144 eval("$(\"display\").inner\ufdedHTML += \" U+FDED is evil\"");
145 } catch(e) {}
146 try {
147 // U+FDEE
148 eval("$(\"display\").inner\ufdeeHTML += \" U+FDEE is evil\"");
149 } catch(e) {}
150 try {
151 // U+FDEF
152 eval("$(\"display\").inner\ufdefHTML += \" U+FDEF is evil\"");
153 } catch(e) {}
154 try {
155 // U+FFFE
156 eval("$(\"display\").inner\ufffeHTML += \" U+FFFE is evil\"");
157 } catch(e) {}
158 try {
159 // U+FFFF
160 eval("$(\"display\").inner\uffffHTML += \" U+FFFF is evil\"");
161 } catch(e) {}
162 try {
163 // U+1FFFE
164 eval("$(\"display\").inner\ud83f\udffeHTML += \" U+1FFFE is evil\"");
165 } catch(e) {}
166 try {
167 // U+1FFFF
168 eval("$(\"display\").inner\ud83f\udfffHTML += \" U+1FFFF is evil\"");
169 } catch(e) {}
170 try {
171 // U+2FFFE
172 eval("$(\"display\").inner\ud87f\udffeHTML += \" U+2FFFE is evil\"");
173 } catch(e) {}
174 try {
175 // U+2FFFF
176 eval("$(\"display\").inner\ud87f\udfffHTML += \" U+2FFFF is evil\"");
177 } catch(e) {}
178 try {
179 // U+3FFFE
180 eval("$(\"display\").inner\ud8bf\udffeHTML += \" U+3FFFE is evil\"");
181 } catch(e) {}
182 try {
183 // U+3FFFF
184 eval("$(\"display\").inner\ud8bf\udfffHTML += \" U+3FFFF is evil\"");
185 } catch(e) {}
186 try {
187 // U+4FFFE
188 eval("$(\"display\").inner\ud8ff\udffeHTML += \" U+4FFFE is evil\"");
189 } catch(e) {}
190 try {
191 // U+4FFFF
192 eval("$(\"display\").inner\ud8ff\udfffHTML += \" U+4FFFF is evil\"");
193 } catch(e) {}
194 try {
195 // U+5FFFE
196 eval("$(\"display\").inner\ud93f\udffeHTML += \" U+5FFFE is evil\"");
197 } catch(e) {}
198 try {
199 // U+5FFFF
200 eval("$(\"display\").inner\ud93f\udfffHTML += \" U+5FFFF is evil\"");
201 } catch(e) {}
202 try {
203 // U+6FFFE
204 eval("$(\"display\").inner\ud97f\udffeHTML += \" U+6FFFE is evil\"");
205 } catch(e) {}
206 try {
207 // U+6FFFF
208 eval("$(\"display\").inner\ud97f\udfffHTML += \" U+6FFFF is evil\"");
209 } catch(e) {}
210 try {
211 // U+7FFFE
212 eval("$(\"display\").inner\ud9bf\udffeHTML += \" U+7FFFE is evil\"");
213 } catch(e) {}
214 try {
215 // U+7FFFF
216 eval("$(\"display\").inner\ud9bf\udfffHTML += \" U+7FFFF is evil\"");
217 } catch(e) {}
218 try {
219 // U+8FFFE
220 eval("$(\"display\").inner\ud9ff\udffeHTML += \" U+8FFFE is evil\"");
221 } catch(e) {}
222 try {
223 // U+8FFFF
224 eval("$(\"display\").inner\ud9ff\udfffHTML += \" U+8FFFF is evil\"");
225 } catch(e) {}
226 try {
227 // U+9FFFE
228 eval("$(\"display\").inner\uda3f\udffeHTML += \" U+9FFFE is evil\"");
229 } catch(e) {}
230 try {
231 // U+9FFFF
232 eval("$(\"display\").inner\uda3f\udfffHTML += \" U+9FFFF is evil\"");
233 } catch(e) {}
234 try {
235 // U+AFFFE
236 eval("$(\"display\").inner\uda7f\udffeHTML += \" U+AFFFE is evil\"");
237 } catch(e) {}
238 try {
239 // U+AFFFF
240 eval("$(\"display\").inner\uda7f\udfffHTML += \" U+AFFFF is evil\"");
241 } catch(e) {}
242 try {
243 // U+BFFFE
244 eval("$(\"display\").inner\udabf\udffeHTML += \" U+BFFFE is evil\"");
245 } catch(e) {}
246 try {
247 // U+BFFFF
248 eval("$(\"display\").inner\udabf\udfffHTML += \" U+BFFFF is evil\"");
249 } catch(e) {}
250 try {
251 // U+CFFFE
252 eval("$(\"display\").inner\udaff\udffeHTML += \" U+CFFFE is evil\"");
253 } catch(e) {}
254 try {
255 // U+CFFFF
256 eval("$(\"display\").inner\udaff\udfffHTML += \" U+CFFFF is evil\"");
257 } catch(e) {}
258 try {
259 // U+DFFFE
260 eval("$(\"display\").inner\udb3f\udffeHTML += \" U+DFFFE is evil\"");
261 } catch(e) {}
262 try {
263 // U+DFFFF
264 eval("$(\"display\").inner\udb3f\udfffHTML += \" U+DFFFF is evil\"");
265 } catch(e) {}
266 try {
267 // U+EFFFE
268 eval("$(\"display\").inner\udb7f\udffeHTML += \" U+EFFFE is evil\"");
269 } catch(e) {}
270 try {
271 // U+EFFFF
272 eval("$(\"display\").inner\udb7f\udfffHTML += \" U+EFFFF is evil\"");
273 } catch(e) {}
274 try {
275 // U+FFFFE
276 eval("$(\"display\").inner\udbbf\udffeHTML += \" U+FFFFE is evil\"");
277 } catch(e) {}
278 try {
279 // U+FFFFF
280 eval("$(\"display\").inner\udbbf\udfffHTML += \" U+FFFFF is evil\"");
281 } catch(e) {}
282 try {
283 // U+10FFFE
284 eval("$(\"display\").inner\udbff\udffeHTML += \" U+10FFFE is evil\"");
285 } catch(e) {}
286 try {
287 // U+10FFFF
288 eval("$(\"display\").inner\udbff\udfffHTML += \" U+10FFFF is evil\"");
289 } catch(e) {}
290 test();
293 SimpleTest.waitForExplicitFinish();
294 </script>
295 </pre>
296 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=445886">Mozilla Bug 445886</a>
297 <p id="display">All good.</p>
298 <div id="content" style="display: none"></div>
299 </body>
300 </html>