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
5,931 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 005196 | generated/0361 Generated |
&hop
|
4 B | |
| 005197 | generated/0362 Generated |
€&ufr-⟨U+FFFF⟩⟨U+FFFF⟩&NoBre-€
|
34 B | |
| 005198 | generated/0363 Generated |
Z␍⊖&racu␉9
|
22 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 | |
| 005204 | generated/0369 Generated |
␉⌽🎉€x␀
|
17 B | |
| 005205 | generated/0370 Generated |
x&s=⫅𥜁&u⟨U+00A0⟩<𝓀a<é�␉
|
47 B | |
| 005206 | generated/0371 Generated |
F⋆&ld
|
12 B | |
| 005208 | generated/0373 Generated |
⟨U+00A0⟩&Rcedil7ga'0>7&⟨U+00A0⟩Ÿ
|
39 B | |
| 005210 | generated/0375 Generated |
⊉⟨U+FFFF⟩㿿g;&>&␊닯␊
|
58 B | |
| 005211 | generated/0376 Generated |
--a&real𝕣⋇&realine&"
|
39 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 | |
| 005219 | generated/0384 Generated |
🎉&SquareSupers<0>
|
21 B | |
| 005221 | generated/0386 Generated |
🎉€x⟨U+00A0⟩ 7=& ⇥x&dbla&GreaterL"
|
46 B | |
| 005222 | generated/0387 Generated |
&c&rhar&C日€
|
21 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 | |
| 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 | |
| 005235 | generated/0400 Generated |
"7⟨U+00A0⟩ ␊&sg⩘&&Pr𑪅é
|
67 B | |
| 005236 | generated/0401 Generated |
€a"F&kaa&backsim
|
26 B | |
| 005237 | generated/0402 Generated |
#€&g␉&angmsdag∅
|
24 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 | |
| 005245 | generated/0410 Generated |
␊≪␀🎉&luruF⟨U+10FFFF⟩&Umacfl&cé␉⟨U+10FFFF⟩x日é
|
67 B | |
| 005246 | generated/0411 Generated |
F7€&ig�g&No╩⟨U+10FFFF⟩x� 𝔯&q日
|
68 B | |
| 005247 | generated/0412 Generated |
xg-™ & ≾9
|
33 B | |
| 005248 | generated/0413 Generated |
x日␊≎0
|
21 B | |
| 005249 | generated/0414 Generated |
gé &Kfr€F𝔔🎉&oopfZ⌅'
|
44 B | |
| 005251 | generated/0416 Generated |
⟨U+10FFFF⟩"𨄴 ␊&udbl>#
|
27 B | |
| 005252 | generated/0417 Generated |
€&nvl0ã0🎉
|
29 B | |
| 005253 | generated/0418 Generated |
⋫␍-&fr
|
30 B | |
| 005254 | generated/0419 Generated |
gf␊&v⇒␍#␊x�
|
40 B | |
| 005255 | generated/0420 Generated |
�≤⤦g⟨U+10FFFF⟩xZ;&anA⇌fg␊"0�g
|
85 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