nx_html_entities_render_test.nx source
↩ module page · 507 lines · 16483 B
1// nx_html_entities_render_test.nx -- named-entity table KAT (X-HTML-ENT-001
2// follow-on). Decodes 25 named entities THROUGH nx_html_to_text + nbsp-in-
3// context + a mixed real-page snippet, exact UTF-8 (codepoints verified vs
4// python html.entities.html5). nbsp renders as a space in text mode.
5// expect_exit: 0
6// license_tier: ORIGINAL
7
8import "nx_syscalls.nx"
9import "nx_html_to_text.nx"
10
11func ent_eq(g: *u8, gn: i64, e: *u8, en: i64) -> i64 {
12 if gn != en { return 0 }
13 var i: i64 = 0
14 while i < gn { if (g[i]&0xff)!=(e[i]&0xff) { return 0 } i = i + 1 }
15 return 1
16}
17
18func main() -> i64 {
19 // & (U+0026)
20 let s_amp: *u8 = (sys_mmap(13)) as *u8
21 s_amp[0] = 0x26 as u8
22 s_amp[1] = 0x61 as u8
23 s_amp[2] = 0x6d as u8
24 s_amp[3] = 0x70 as u8
25 s_amp[4] = 0x3b as u8
26 let e_amp: *u8 = (sys_mmap(9)) as *u8
27 e_amp[0] = 0x26 as u8
28 let o_amp: *u8 = (sys_mmap(64)) as *u8
29 let n_amp: i64 = nx_html_to_text(s_amp, 5, o_amp, 64)
30 if ent_eq(o_amp, n_amp, e_amp, 1) != 1 { return 100 }
31
32 // < (U+003C)
33 let s_lt: *u8 = (sys_mmap(12)) as *u8
34 s_lt[0] = 0x26 as u8
35 s_lt[1] = 0x6c as u8
36 s_lt[2] = 0x74 as u8
37 s_lt[3] = 0x3b as u8
38 let e_lt: *u8 = (sys_mmap(9)) as *u8
39 e_lt[0] = 0x3c as u8
40 let o_lt: *u8 = (sys_mmap(64)) as *u8
41 let n_lt: i64 = nx_html_to_text(s_lt, 4, o_lt, 64)
42 if ent_eq(o_lt, n_lt, e_lt, 1) != 1 { return 101 }
43
44 // > (U+003E)
45 let s_gt: *u8 = (sys_mmap(12)) as *u8
46 s_gt[0] = 0x26 as u8
47 s_gt[1] = 0x67 as u8
48 s_gt[2] = 0x74 as u8
49 s_gt[3] = 0x3b as u8
50 let e_gt: *u8 = (sys_mmap(9)) as *u8
51 e_gt[0] = 0x3e as u8
52 let o_gt: *u8 = (sys_mmap(64)) as *u8
53 let n_gt: i64 = nx_html_to_text(s_gt, 4, o_gt, 64)
54 if ent_eq(o_gt, n_gt, e_gt, 1) != 1 { return 102 }
55
56 // — (U+2014)
57 let s_mdash: *u8 = (sys_mmap(15)) as *u8
58 s_mdash[0] = 0x26 as u8
59 s_mdash[1] = 0x6d as u8
60 s_mdash[2] = 0x64 as u8
61 s_mdash[3] = 0x61 as u8
62 s_mdash[4] = 0x73 as u8
63 s_mdash[5] = 0x68 as u8
64 s_mdash[6] = 0x3b as u8
65 let e_mdash: *u8 = (sys_mmap(11)) as *u8
66 e_mdash[0] = 0xe2 as u8
67 e_mdash[1] = 0x80 as u8
68 e_mdash[2] = 0x94 as u8
69 let o_mdash: *u8 = (sys_mmap(64)) as *u8
70 let n_mdash: i64 = nx_html_to_text(s_mdash, 7, o_mdash, 64)
71 if ent_eq(o_mdash, n_mdash, e_mdash, 3) != 1 { return 103 }
72
73 // – (U+2013)
74 let s_ndash: *u8 = (sys_mmap(15)) as *u8
75 s_ndash[0] = 0x26 as u8
76 s_ndash[1] = 0x6e as u8
77 s_ndash[2] = 0x64 as u8
78 s_ndash[3] = 0x61 as u8
79 s_ndash[4] = 0x73 as u8
80 s_ndash[5] = 0x68 as u8
81 s_ndash[6] = 0x3b as u8
82 let e_ndash: *u8 = (sys_mmap(11)) as *u8
83 e_ndash[0] = 0xe2 as u8
84 e_ndash[1] = 0x80 as u8
85 e_ndash[2] = 0x93 as u8
86 let o_ndash: *u8 = (sys_mmap(64)) as *u8
87 let n_ndash: i64 = nx_html_to_text(s_ndash, 7, o_ndash, 64)
88 if ent_eq(o_ndash, n_ndash, e_ndash, 3) != 1 { return 104 }
89
90 // ’ (U+2019)
91 let s_rsquo: *u8 = (sys_mmap(15)) as *u8
92 s_rsquo[0] = 0x26 as u8
93 s_rsquo[1] = 0x72 as u8
94 s_rsquo[2] = 0x73 as u8
95 s_rsquo[3] = 0x71 as u8
96 s_rsquo[4] = 0x75 as u8
97 s_rsquo[5] = 0x6f as u8
98 s_rsquo[6] = 0x3b as u8
99 let e_rsquo: *u8 = (sys_mmap(11)) as *u8
100 e_rsquo[0] = 0xe2 as u8
101 e_rsquo[1] = 0x80 as u8
102 e_rsquo[2] = 0x99 as u8
103 let o_rsquo: *u8 = (sys_mmap(64)) as *u8
104 let n_rsquo: i64 = nx_html_to_text(s_rsquo, 7, o_rsquo, 64)
105 if ent_eq(o_rsquo, n_rsquo, e_rsquo, 3) != 1 { return 105 }
106
107 // ‘ (U+2018)
108 let s_lsquo: *u8 = (sys_mmap(15)) as *u8
109 s_lsquo[0] = 0x26 as u8
110 s_lsquo[1] = 0x6c as u8
111 s_lsquo[2] = 0x73 as u8
112 s_lsquo[3] = 0x71 as u8
113 s_lsquo[4] = 0x75 as u8
114 s_lsquo[5] = 0x6f as u8
115 s_lsquo[6] = 0x3b as u8
116 let e_lsquo: *u8 = (sys_mmap(11)) as *u8
117 e_lsquo[0] = 0xe2 as u8
118 e_lsquo[1] = 0x80 as u8
119 e_lsquo[2] = 0x98 as u8
120 let o_lsquo: *u8 = (sys_mmap(64)) as *u8
121 let n_lsquo: i64 = nx_html_to_text(s_lsquo, 7, o_lsquo, 64)
122 if ent_eq(o_lsquo, n_lsquo, e_lsquo, 3) != 1 { return 106 }
123
124 // “ (U+201C)
125 let s_ldquo: *u8 = (sys_mmap(15)) as *u8
126 s_ldquo[0] = 0x26 as u8
127 s_ldquo[1] = 0x6c as u8
128 s_ldquo[2] = 0x64 as u8
129 s_ldquo[3] = 0x71 as u8
130 s_ldquo[4] = 0x75 as u8
131 s_ldquo[5] = 0x6f as u8
132 s_ldquo[6] = 0x3b as u8
133 let e_ldquo: *u8 = (sys_mmap(11)) as *u8
134 e_ldquo[0] = 0xe2 as u8
135 e_ldquo[1] = 0x80 as u8
136 e_ldquo[2] = 0x9c as u8
137 let o_ldquo: *u8 = (sys_mmap(64)) as *u8
138 let n_ldquo: i64 = nx_html_to_text(s_ldquo, 7, o_ldquo, 64)
139 if ent_eq(o_ldquo, n_ldquo, e_ldquo, 3) != 1 { return 107 }
140
141 // ” (U+201D)
142 let s_rdquo: *u8 = (sys_mmap(15)) as *u8
143 s_rdquo[0] = 0x26 as u8
144 s_rdquo[1] = 0x72 as u8
145 s_rdquo[2] = 0x64 as u8
146 s_rdquo[3] = 0x71 as u8
147 s_rdquo[4] = 0x75 as u8
148 s_rdquo[5] = 0x6f as u8
149 s_rdquo[6] = 0x3b as u8
150 let e_rdquo: *u8 = (sys_mmap(11)) as *u8
151 e_rdquo[0] = 0xe2 as u8
152 e_rdquo[1] = 0x80 as u8
153 e_rdquo[2] = 0x9d as u8
154 let o_rdquo: *u8 = (sys_mmap(64)) as *u8
155 let n_rdquo: i64 = nx_html_to_text(s_rdquo, 7, o_rdquo, 64)
156 if ent_eq(o_rdquo, n_rdquo, e_rdquo, 3) != 1 { return 108 }
157
158 // … (U+2026)
159 let s_hellip: *u8 = (sys_mmap(16)) as *u8
160 s_hellip[0] = 0x26 as u8
161 s_hellip[1] = 0x68 as u8
162 s_hellip[2] = 0x65 as u8
163 s_hellip[3] = 0x6c as u8
164 s_hellip[4] = 0x6c as u8
165 s_hellip[5] = 0x69 as u8
166 s_hellip[6] = 0x70 as u8
167 s_hellip[7] = 0x3b as u8
168 let e_hellip: *u8 = (sys_mmap(11)) as *u8
169 e_hellip[0] = 0xe2 as u8
170 e_hellip[1] = 0x80 as u8
171 e_hellip[2] = 0xa6 as u8
172 let o_hellip: *u8 = (sys_mmap(64)) as *u8
173 let n_hellip: i64 = nx_html_to_text(s_hellip, 8, o_hellip, 64)
174 if ent_eq(o_hellip, n_hellip, e_hellip, 3) != 1 { return 109 }
175
176 // © (U+00A9)
177 let s_copy: *u8 = (sys_mmap(14)) as *u8
178 s_copy[0] = 0x26 as u8
179 s_copy[1] = 0x63 as u8
180 s_copy[2] = 0x6f as u8
181 s_copy[3] = 0x70 as u8
182 s_copy[4] = 0x79 as u8
183 s_copy[5] = 0x3b as u8
184 let e_copy: *u8 = (sys_mmap(10)) as *u8
185 e_copy[0] = 0xc2 as u8
186 e_copy[1] = 0xa9 as u8
187 let o_copy: *u8 = (sys_mmap(64)) as *u8
188 let n_copy: i64 = nx_html_to_text(s_copy, 6, o_copy, 64)
189 if ent_eq(o_copy, n_copy, e_copy, 2) != 1 { return 110 }
190
191 // ® (U+00AE)
192 let s_reg: *u8 = (sys_mmap(13)) as *u8
193 s_reg[0] = 0x26 as u8
194 s_reg[1] = 0x72 as u8
195 s_reg[2] = 0x65 as u8
196 s_reg[3] = 0x67 as u8
197 s_reg[4] = 0x3b as u8
198 let e_reg: *u8 = (sys_mmap(10)) as *u8
199 e_reg[0] = 0xc2 as u8
200 e_reg[1] = 0xae as u8
201 let o_reg: *u8 = (sys_mmap(64)) as *u8
202 let n_reg: i64 = nx_html_to_text(s_reg, 5, o_reg, 64)
203 if ent_eq(o_reg, n_reg, e_reg, 2) != 1 { return 111 }
204
205 // ™ (U+2122)
206 let s_trade: *u8 = (sys_mmap(15)) as *u8
207 s_trade[0] = 0x26 as u8
208 s_trade[1] = 0x74 as u8
209 s_trade[2] = 0x72 as u8
210 s_trade[3] = 0x61 as u8
211 s_trade[4] = 0x64 as u8
212 s_trade[5] = 0x65 as u8
213 s_trade[6] = 0x3b as u8
214 let e_trade: *u8 = (sys_mmap(11)) as *u8
215 e_trade[0] = 0xe2 as u8
216 e_trade[1] = 0x84 as u8
217 e_trade[2] = 0xa2 as u8
218 let o_trade: *u8 = (sys_mmap(64)) as *u8
219 let n_trade: i64 = nx_html_to_text(s_trade, 7, o_trade, 64)
220 if ent_eq(o_trade, n_trade, e_trade, 3) != 1 { return 112 }
221
222 // ° (U+00B0)
223 let s_deg: *u8 = (sys_mmap(13)) as *u8
224 s_deg[0] = 0x26 as u8
225 s_deg[1] = 0x64 as u8
226 s_deg[2] = 0x65 as u8
227 s_deg[3] = 0x67 as u8
228 s_deg[4] = 0x3b as u8
229 let e_deg: *u8 = (sys_mmap(10)) as *u8
230 e_deg[0] = 0xc2 as u8
231 e_deg[1] = 0xb0 as u8
232 let o_deg: *u8 = (sys_mmap(64)) as *u8
233 let n_deg: i64 = nx_html_to_text(s_deg, 5, o_deg, 64)
234 if ent_eq(o_deg, n_deg, e_deg, 2) != 1 { return 113 }
235
236 // « (U+00AB)
237 let s_laquo: *u8 = (sys_mmap(15)) as *u8
238 s_laquo[0] = 0x26 as u8
239 s_laquo[1] = 0x6c as u8
240 s_laquo[2] = 0x61 as u8
241 s_laquo[3] = 0x71 as u8
242 s_laquo[4] = 0x75 as u8
243 s_laquo[5] = 0x6f as u8
244 s_laquo[6] = 0x3b as u8
245 let e_laquo: *u8 = (sys_mmap(10)) as *u8
246 e_laquo[0] = 0xc2 as u8
247 e_laquo[1] = 0xab as u8
248 let o_laquo: *u8 = (sys_mmap(64)) as *u8
249 let n_laquo: i64 = nx_html_to_text(s_laquo, 7, o_laquo, 64)
250 if ent_eq(o_laquo, n_laquo, e_laquo, 2) != 1 { return 114 }
251
252 // » (U+00BB)
253 let s_raquo: *u8 = (sys_mmap(15)) as *u8
254 s_raquo[0] = 0x26 as u8
255 s_raquo[1] = 0x72 as u8
256 s_raquo[2] = 0x61 as u8
257 s_raquo[3] = 0x71 as u8
258 s_raquo[4] = 0x75 as u8
259 s_raquo[5] = 0x6f as u8
260 s_raquo[6] = 0x3b as u8
261 let e_raquo: *u8 = (sys_mmap(10)) as *u8
262 e_raquo[0] = 0xc2 as u8
263 e_raquo[1] = 0xbb as u8
264 let o_raquo: *u8 = (sys_mmap(64)) as *u8
265 let n_raquo: i64 = nx_html_to_text(s_raquo, 7, o_raquo, 64)
266 if ent_eq(o_raquo, n_raquo, e_raquo, 2) != 1 { return 115 }
267
268 // é (U+00E9)
269 let s_eacute: *u8 = (sys_mmap(16)) as *u8
270 s_eacute[0] = 0x26 as u8
271 s_eacute[1] = 0x65 as u8
272 s_eacute[2] = 0x61 as u8
273 s_eacute[3] = 0x63 as u8
274 s_eacute[4] = 0x75 as u8
275 s_eacute[5] = 0x74 as u8
276 s_eacute[6] = 0x65 as u8
277 s_eacute[7] = 0x3b as u8
278 let e_eacute: *u8 = (sys_mmap(10)) as *u8
279 e_eacute[0] = 0xc3 as u8
280 e_eacute[1] = 0xa9 as u8
281 let o_eacute: *u8 = (sys_mmap(64)) as *u8
282 let n_eacute: i64 = nx_html_to_text(s_eacute, 8, o_eacute, 64)
283 if ent_eq(o_eacute, n_eacute, e_eacute, 2) != 1 { return 116 }
284
285 // ç (U+00E7)
286 let s_ccedil: *u8 = (sys_mmap(16)) as *u8
287 s_ccedil[0] = 0x26 as u8
288 s_ccedil[1] = 0x63 as u8
289 s_ccedil[2] = 0x63 as u8
290 s_ccedil[3] = 0x65 as u8
291 s_ccedil[4] = 0x64 as u8
292 s_ccedil[5] = 0x69 as u8
293 s_ccedil[6] = 0x6c as u8
294 s_ccedil[7] = 0x3b as u8
295 let e_ccedil: *u8 = (sys_mmap(10)) as *u8
296 e_ccedil[0] = 0xc3 as u8
297 e_ccedil[1] = 0xa7 as u8
298 let o_ccedil: *u8 = (sys_mmap(64)) as *u8
299 let n_ccedil: i64 = nx_html_to_text(s_ccedil, 8, o_ccedil, 64)
300 if ent_eq(o_ccedil, n_ccedil, e_ccedil, 2) != 1 { return 117 }
301
302 // ñ (U+00F1)
303 let s_ntilde: *u8 = (sys_mmap(16)) as *u8
304 s_ntilde[0] = 0x26 as u8
305 s_ntilde[1] = 0x6e as u8
306 s_ntilde[2] = 0x74 as u8
307 s_ntilde[3] = 0x69 as u8
308 s_ntilde[4] = 0x6c as u8
309 s_ntilde[5] = 0x64 as u8
310 s_ntilde[6] = 0x65 as u8
311 s_ntilde[7] = 0x3b as u8
312 let e_ntilde: *u8 = (sys_mmap(10)) as *u8
313 e_ntilde[0] = 0xc3 as u8
314 e_ntilde[1] = 0xb1 as u8
315 let o_ntilde: *u8 = (sys_mmap(64)) as *u8
316 let n_ntilde: i64 = nx_html_to_text(s_ntilde, 8, o_ntilde, 64)
317 if ent_eq(o_ntilde, n_ntilde, e_ntilde, 2) != 1 { return 118 }
318
319 // ß (U+00DF)
320 let s_szlig: *u8 = (sys_mmap(15)) as *u8
321 s_szlig[0] = 0x26 as u8
322 s_szlig[1] = 0x73 as u8
323 s_szlig[2] = 0x7a as u8
324 s_szlig[3] = 0x6c as u8
325 s_szlig[4] = 0x69 as u8
326 s_szlig[5] = 0x67 as u8
327 s_szlig[6] = 0x3b as u8
328 let e_szlig: *u8 = (sys_mmap(10)) as *u8
329 e_szlig[0] = 0xc3 as u8
330 e_szlig[1] = 0x9f as u8
331 let o_szlig: *u8 = (sys_mmap(64)) as *u8
332 let n_szlig: i64 = nx_html_to_text(s_szlig, 7, o_szlig, 64)
333 if ent_eq(o_szlig, n_szlig, e_szlig, 2) != 1 { return 119 }
334
335 // € (U+20AC)
336 let s_euro: *u8 = (sys_mmap(14)) as *u8
337 s_euro[0] = 0x26 as u8
338 s_euro[1] = 0x65 as u8
339 s_euro[2] = 0x75 as u8
340 s_euro[3] = 0x72 as u8
341 s_euro[4] = 0x6f as u8
342 s_euro[5] = 0x3b as u8
343 let e_euro: *u8 = (sys_mmap(11)) as *u8
344 e_euro[0] = 0xe2 as u8
345 e_euro[1] = 0x82 as u8
346 e_euro[2] = 0xac as u8
347 let o_euro: *u8 = (sys_mmap(64)) as *u8
348 let n_euro: i64 = nx_html_to_text(s_euro, 6, o_euro, 64)
349 if ent_eq(o_euro, n_euro, e_euro, 3) != 1 { return 120 }
350
351 // · (U+00B7)
352 let s_middot: *u8 = (sys_mmap(16)) as *u8
353 s_middot[0] = 0x26 as u8
354 s_middot[1] = 0x6d as u8
355 s_middot[2] = 0x69 as u8
356 s_middot[3] = 0x64 as u8
357 s_middot[4] = 0x64 as u8
358 s_middot[5] = 0x6f as u8
359 s_middot[6] = 0x74 as u8
360 s_middot[7] = 0x3b as u8
361 let e_middot: *u8 = (sys_mmap(10)) as *u8
362 e_middot[0] = 0xc2 as u8
363 e_middot[1] = 0xb7 as u8
364 let o_middot: *u8 = (sys_mmap(64)) as *u8
365 let n_middot: i64 = nx_html_to_text(s_middot, 8, o_middot, 64)
366 if ent_eq(o_middot, n_middot, e_middot, 2) != 1 { return 121 }
367
368 // × (U+00D7)
369 let s_times: *u8 = (sys_mmap(15)) as *u8
370 s_times[0] = 0x26 as u8
371 s_times[1] = 0x74 as u8
372 s_times[2] = 0x69 as u8
373 s_times[3] = 0x6d as u8
374 s_times[4] = 0x65 as u8
375 s_times[5] = 0x73 as u8
376 s_times[6] = 0x3b as u8
377 let e_times: *u8 = (sys_mmap(10)) as *u8
378 e_times[0] = 0xc3 as u8
379 e_times[1] = 0x97 as u8
380 let o_times: *u8 = (sys_mmap(64)) as *u8
381 let n_times: i64 = nx_html_to_text(s_times, 7, o_times, 64)
382 if ent_eq(o_times, n_times, e_times, 2) != 1 { return 122 }
383
384 // • (U+2022)
385 let s_bull: *u8 = (sys_mmap(14)) as *u8
386 s_bull[0] = 0x26 as u8
387 s_bull[1] = 0x62 as u8
388 s_bull[2] = 0x75 as u8
389 s_bull[3] = 0x6c as u8
390 s_bull[4] = 0x6c as u8
391 s_bull[5] = 0x3b as u8
392 let e_bull: *u8 = (sys_mmap(11)) as *u8
393 e_bull[0] = 0xe2 as u8
394 e_bull[1] = 0x80 as u8
395 e_bull[2] = 0xa2 as u8
396 let o_bull: *u8 = (sys_mmap(64)) as *u8
397 let n_bull: i64 = nx_html_to_text(s_bull, 6, o_bull, 64)
398 if ent_eq(o_bull, n_bull, e_bull, 3) != 1 { return 123 }
399
400 // § (U+00A7)
401 let s_sect: *u8 = (sys_mmap(14)) as *u8
402 s_sect[0] = 0x26 as u8
403 s_sect[1] = 0x73 as u8
404 s_sect[2] = 0x65 as u8
405 s_sect[3] = 0x63 as u8
406 s_sect[4] = 0x74 as u8
407 s_sect[5] = 0x3b as u8
408 let e_sect: *u8 = (sys_mmap(10)) as *u8
409 e_sect[0] = 0xc2 as u8
410 e_sect[1] = 0xa7 as u8
411 let o_sect: *u8 = (sys_mmap(64)) as *u8
412 let n_sect: i64 = nx_html_to_text(s_sect, 6, o_sect, 64)
413 if ent_eq(o_sect, n_sect, e_sect, 2) != 1 { return 124 }
414
415 // nbsp in context: x y -> 'x y' (nbsp->space, not collapsed mid-text)
416 let s_nb: *u8 = (sys_mmap(16)) as *u8
417 s_nb[0] = 0x78 as u8
418 s_nb[1] = 0x26 as u8
419 s_nb[2] = 0x6e as u8
420 s_nb[3] = 0x62 as u8
421 s_nb[4] = 0x73 as u8
422 s_nb[5] = 0x70 as u8
423 s_nb[6] = 0x3b as u8
424 s_nb[7] = 0x79 as u8
425 let e_nb: *u8 = (sys_mmap(11)) as *u8
426 e_nb[0] = 0x78 as u8
427 e_nb[1] = 0x20 as u8
428 e_nb[2] = 0x79 as u8
429 let o_nb: *u8 = (sys_mmap(64)) as *u8
430 let n_nb: i64 = nx_html_to_text(s_nb, 8, o_nb, 64)
431 if ent_eq(o_nb, n_nb, e_nb, 3) != 1 { return 190 }
432
433 // mixed real-page snippet
434 let s_mix: *u8 = (sys_mmap(53)) as *u8
435 s_mix[0] = 0x3c as u8
436 s_mix[1] = 0x70 as u8
437 s_mix[2] = 0x3e as u8
438 s_mix[3] = 0x43 as u8
439 s_mix[4] = 0x61 as u8
440 s_mix[5] = 0x66 as u8
441 s_mix[6] = 0x26 as u8
442 s_mix[7] = 0x65 as u8
443 s_mix[8] = 0x61 as u8
444 s_mix[9] = 0x63 as u8
445 s_mix[10] = 0x75 as u8
446 s_mix[11] = 0x74 as u8
447 s_mix[12] = 0x65 as u8
448 s_mix[13] = 0x3b as u8
449 s_mix[14] = 0x20 as u8
450 s_mix[15] = 0x26 as u8
451 s_mix[16] = 0x6d as u8
452 s_mix[17] = 0x64 as u8
453 s_mix[18] = 0x61 as u8
454 s_mix[19] = 0x73 as u8
455 s_mix[20] = 0x68 as u8
456 s_mix[21] = 0x3b as u8
457 s_mix[22] = 0x20 as u8
458 s_mix[23] = 0x26 as u8
459 s_mix[24] = 0x63 as u8
460 s_mix[25] = 0x6f as u8
461 s_mix[26] = 0x70 as u8
462 s_mix[27] = 0x79 as u8
463 s_mix[28] = 0x3b as u8
464 s_mix[29] = 0x32 as u8
465 s_mix[30] = 0x30 as u8
466 s_mix[31] = 0x32 as u8
467 s_mix[32] = 0x36 as u8
468 s_mix[33] = 0x20 as u8
469 s_mix[34] = 0x26 as u8
470 s_mix[35] = 0x74 as u8
471 s_mix[36] = 0x72 as u8
472 s_mix[37] = 0x61 as u8
473 s_mix[38] = 0x64 as u8
474 s_mix[39] = 0x65 as u8
475 s_mix[40] = 0x3b as u8
476 s_mix[41] = 0x3c as u8
477 s_mix[42] = 0x2f as u8
478 s_mix[43] = 0x70 as u8
479 s_mix[44] = 0x3e as u8
480 let e_mix: *u8 = (sys_mmap(29)) as *u8
481 e_mix[0] = 0x43 as u8
482 e_mix[1] = 0x61 as u8
483 e_mix[2] = 0x66 as u8
484 e_mix[3] = 0xc3 as u8
485 e_mix[4] = 0xa9 as u8
486 e_mix[5] = 0x20 as u8
487 e_mix[6] = 0xe2 as u8
488 e_mix[7] = 0x80 as u8
489 e_mix[8] = 0x94 as u8
490 e_mix[9] = 0x20 as u8
491 e_mix[10] = 0xc2 as u8
492 e_mix[11] = 0xa9 as u8
493 e_mix[12] = 0x32 as u8
494 e_mix[13] = 0x30 as u8
495 e_mix[14] = 0x32 as u8
496 e_mix[15] = 0x36 as u8
497 e_mix[16] = 0x20 as u8
498 e_mix[17] = 0xe2 as u8
499 e_mix[18] = 0x84 as u8
500 e_mix[19] = 0xa2 as u8
501 e_mix[20] = 0x0a as u8
502 let o_mix: *u8 = (sys_mmap(128)) as *u8
503 let n_mix: i64 = nx_html_to_text(s_mix, 45, o_mix, 128)
504 if ent_eq(o_mix, n_mix, e_mix, 21) != 1 { return 200 }
505
506 return 0
507}