Compliance cases
These are the 6,835 inputs a submission must decode. Each output must match the expected text byte for byte. You can run the suite without reading it, or open any case to see its input and expected output.
Run the full compliance suite locally. Replace your-component.wasm
with your compiled component.
Download the suite
curl -fLo unescape_html.comply.wasm https://calculated.world/comply/unescape_html.wasm
qipx comply your-component.wasm --with unescape_html.comply.wasm
2,241 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 005180 | generated/0345 Generated |
îg␒g⤷"𗫣… 0↠
|
82 B | |
| 005182 | generated/0347 Generated |
&79g<␊=f
|
24 B | |
| 005183 | generated/0348 Generated |
🎉0&U␉␍x≂ 7#Z&p&hcir⋛⇘
|
70 B | |
| 005184 | generated/0349 Generated |
𱇲⪯̸a
|
27 B | |
| 005186 | generated/0351 Generated |
␍x⨆'g<"x&x␉f;€ �日
|
62 B | |
| 005187 | generated/0352 Generated |
⟨U+00A0⟩␀&LJcy�Ÿ ␉<� =
|
37 B | |
| 005188 | generated/0353 Generated |
&ulcr…gx€≎A f0&lsqu⟨U+10FFFF⟩x␀
|
69 B | |
| 005189 | generated/0354 Generated |
ℒŸF
|
15 B | |
| 005192 | generated/0357 Generated |
<�
|
11 B | |
| 005193 | generated/0358 Generated |
;FZg␍ ⟨U+10FFFF⟩x⟵xé🎉⟨U+10FFFF⟩x-&si&ncy
|
66 B | |
| 005194 | generated/0359 Generated |
� x&◂&Dcℚ⅖&g
|
76 B | |
| 005195 | generated/0360 Generated |
␊
|
9 B | |
| 005197 | generated/0362 Generated |
€&ufr-⟨U+FFFF⟩⟨U+FFFF⟩&NoBre-€
|
34 B | |
| 005199 | generated/0364 Generated |
Ń␊x
|
13 B | |
| 005200 | generated/0365 Generated |
⟨U+10FFFF⟩€␉xg⇍¬niva𭨴-υ9x␍Fa
|
76 B | |
| 005201 | generated/0366 Generated |
⊇é&AZ 0␉xg"&zeta
|
62 B | |
| 005202 | generated/0367 Generated |
␀�&dfish
|
16 B | |
| 005203 | generated/0368 Generated |
gZ󠄤 ∈
|
25 B | |
| 005205 | generated/0370 Generated |
x&s=⫅𥜁&u⟨U+00A0⟩<𝓀a<é�␉
|
47 B | |
| 005207 | generated/0372 Generated |
=日&⟨U+00A0⟩#&
|
15 B | |
| 005208 | generated/0373 Generated |
⟨U+00A0⟩&Rcedil7ga'0>7&⟨U+00A0⟩Ÿ
|
39 B | |
| 005209 | generated/0374 Generated |
" g
|
11 B | |
| 005210 | generated/0375 Generated |
⊉⟨U+FFFF⟩㿿g;&>&␊닯␊
|
58 B | |
| 005213 | generated/0378 Generated |
a␊&b…xf&exponential0f⪇éF⤒&copé-
|
55 B | |
| 005214 | generated/0379 Generated |
␉&Mscr�'
|
26 B | |
| 005215 | generated/0380 Generated |
€x&hybul
|
20 B | |
| 005216 | generated/0381 Generated |
日;⪮�␀&n9€
|
35 B | |
| 005217 | generated/0382 Generated |
AxÖ<⋅
|
17 B | |
| 005218 | generated/0383 Generated |
7&do<a=é'
|
26 B | |
| 005221 | generated/0386 Generated |
🎉€x⟨U+00A0⟩ 7=& ⇥x&dbla&GreaterL"
|
46 B | |
| 005223 | generated/0388 Generated |
⟨U+FFFF⟩'é&x␉<␊#&Cir
|
26 B | |
| 005224 | generated/0389 Generated |
🎉Ñé‘g⦴>
|
60 B | |
| 005225 | generated/0390 Generated |
Z&simgFé-<-<g&emacr &ss&equestf⌝€
|
54 B | |
| 005226 | generated/0391 Generated |
␊⟨U+FFFF⟩'
|
9 B | |
| 005227 | generated/0392 Generated |
€␀⟨U+FFFF⟩ ╧⪫&multiİ␊
|
40 B | |
| 005228 | generated/0393 Generated |
𬕀g& &Mopfx€ "
|
27 B | |
| 005229 | generated/0394 Generated |
Ÿa 7Z7&incar🎉
|
21 B | |
| 005230 | generated/0395 Generated |
'&K=␉aï␉
|
25 B | |
| 005231 | generated/0396 Generated |
¸�x
|
19 B | |
| 005232 | generated/0397 Generated |
� g#;
|
21 B | |
| 005234 | generated/0399 Generated |
⟨U+10FFFF⟩ ␍␊0 &�xgag␉
|
68 B | |
| 005235 | generated/0400 Generated |
"7⟨U+00A0⟩ ␊&sg⩘&&Pr𑪅é
|
67 B | |
| 005236 | generated/0401 Generated |
€a"F&kaa&backsim
|
26 B | |
| 005238 | generated/0403 Generated |
≀&Yacut9&uA𖹶x&s
|
35 B | |
| 005239 | generated/0404 Generated |
&x␊≩; 0=
|
25 B | |
| 005240 | generated/0405 Generated |
F𝕌ϱ#&🎉Ÿx␀��7#<
|
68 B | |
| 005241 | generated/0406 Generated |
a"&otimᏯ&"日ax0a�♣aϒ
|
54 B | |
| 005242 | generated/0407 Generated |
Ъa& €⟨U+00A0⟩ Z"&i␍x⟨U+10FFFF⟩xga日
|
71 B | |
| 005243 | generated/0408 Generated |
🎉␍њ೯&duha␀f
|
47 B | |
| 005244 | generated/0409 Generated |
␉90#g日x;�x
|
27 B |
Where these rules come from
Expected outputs come from Python’s html.unescape, changed to keep references to controls and noncharacters the way the WHATWG tokenizer does.
- Named character references — the table of 2,231 names, including the legacy ones that work without a semicolon
- Numeric character reference end state — the Windows-1252 remapping and the rules for 0, surrogates and out-of-range numbers
- html5lib-tests tokenizer tests — the source of the 4,617 html5lib cases