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
All 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 005211 | generated/0376 Generated |
--a&real𝕣⋇&realine&"
|
39 B | |
| 005212 | generated/0377 Generated |
f
|
1 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 | |
| 005220 | generated/0385 Generated |
€
|
3 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 | |
| 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 | |
| 005233 | generated/0398 Generated |
-
|
1 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 | |
| 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 | |
| 005244 | generated/0409 Generated |
␉90#g日x;�x
|
27 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 |
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