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 |
|---|---|---|---|---|
| 005535 | generated/0700 Generated |
日
|
12 B | |
| 005536 | generated/0701 Generated |
x'&x�日&ocir0=
|
43 B | |
| 005537 | generated/0702 Generated |
7g…xF日&Io0␀"≭Z␉
|
42 B | |
| 005538 | generated/0703 Generated |
g�Z-&␊&mx␍ �🎉&
|
53 B | |
| 005539 | generated/0704 Generated |
€&L&LeftDownVAé*0f⟨U+00A0⟩ 9>'␊␍&NotRev𝕎
|
56 B | |
| 005540 | generated/0705 Generated |
�␍ <>&tgg0⟧␊;𝔩>g
|
62 B | |
| 005541 | generated/0706 Generated |
Z"&Omacré&kappa
|
36 B | |
| 005542 | generated/0707 Generated |
9⟨U+00A0⟩日<<🎉
|
17 B | |
| 005543 | generated/0708 Generated |
f⟨U+00A0⟩日 ▸a;⟨U+FFFF⟩>g
|
70 B | |
| 005544 | generated/0709 Generated |
日&rotim␉↥;║Z⩐&g∮"␀A
|
55 B | |
| 005545 | generated/0710 Generated |
g&lnE␉"␀
|
17 B | |
| 005546 | generated/0711 Generated |
'"=0⟨U+10FFFF⟩x'⟨U+FFFF⟩ &ci�Z⨍€a'
|
51 B | |
| 005547 | generated/0712 Generated |
g&npŵ;7日€
|
28 B | |
| 005548 | generated/0713 Generated |
#&C9a
|
13 B | |
| 005549 | generated/0714 Generated |
␉x日ф; ;F␉xFZ日f…x
|
50 B | |
| 005550 | generated/0715 Generated |
é䭣
|
12 B | |
| 005551 | generated/0716 Generated |
Ag&varp0⟨U+FFFF⟩ 0F&Col␉↘🎉&stra
|
69 B | |
| 005554 | generated/0719 Generated |
>⟨U+FFFF⟩䷧𝒬␉ég
|
34 B | |
| 005556 | generated/0721 Generated |
�&OEl7&LeftDownVector日🎉&r;a⪫x␍=>7
|
54 B | |
| 005557 | generated/0722 Generated |
&Oé⟨U+00A0⟩ ⟨U+00A0⟩␉
|
17 B | |
| 005558 | generated/0723 Generated |
ZF𥰨🎉=żx/�&nwa𝕀
|
57 B | |
| 005559 | generated/0724 Generated |
&in<⋀0&subE'𰢬a&supZ␊&e⋚
|
67 B | |
| 005560 | generated/0725 Generated |
-&x0=-&TéF€f|Ax
|
40 B | |
| 005562 | generated/0727 Generated |
�&&frac18ù-∀€g'␊␉␉<&Ne
|
57 B | |
| 005563 | generated/0728 Generated |
g���f
|
27 B | |
| 005564 | generated/0729 Generated |
é␊� Ÿg"&
|
28 B | |
| 005566 | generated/0731 Generated |
é&n ∭&&vaé
|
26 B | |
| 005568 | generated/0733 Generated |
&FΑ␍&mul␊x&rmoustache⟨U+00A0⟩x&measure€ gß
|
77 B | |
| 005569 | generated/0734 Generated |
&⇌🎉>a␊
|
37 B | |
| 005570 | generated/0735 Generated |
;gé
|
12 B | |
| 005571 | generated/0736 Generated |
éFffl'=␊ ->日㲟␊
|
38 B | |
| 005572 | generated/0737 Generated |
ZF␍7é␍ a<x>""<&lsquo
|
42 B | |
| 005573 | generated/0738 Generated |
€␉ů&fsc&A&dfi&Dox0␍
|
50 B | |
| 005574 | generated/0739 Generated |
0A ␉'7τ␍x&hs␍
|
23 B | |
| 005575 | generated/0740 Generated |
x-;F日␀'&␍€⊝␀a#�x
|
55 B | |
| 005576 | generated/0741 Generated |
ϰΥ␉日ς🎉=→└␊&big
|
65 B | |
| 005577 | generated/0742 Generated |
⨷&rb&ropf"⟨U+FFFF⟩&o&isins↗
|
57 B | |
| 005578 | generated/0743 Generated |
F"␉x␉&xo¬ina=
|
27 B | |
| 005579 | generated/0744 Generated |
'&b⟨U+FFFF⟩x
|
11 B | |
| 005580 | generated/0745 Generated |
日Ax⟨U+FFFF⟩x
|
16 B | |
| 005581 | generated/0746 Generated |
␊x日🎉Zé⌈🎉&y&xa7␊Ÿ
|
51 B | |
| 005582 | generated/0747 Generated |
⤨⟸&phm>Z0;=
|
45 B | |
| 005584 | generated/0749 Generated |
<&szli␉⋢∅&L𧥭g
|
56 B | |
| 005585 | generated/0750 Generated |
é<-<€◃�g 0F€x""�␍
|
39 B | |
| 005586 | generated/0751 Generated |
🎉&na"'🎉日&angrt"日ŨŸx⟨U+00A0⟩x7f
|
65 B | |
| 005587 | generated/0752 Generated |
& �g&eacut�x-🎉␀␊&
|
42 B | |
| 005588 | generated/0753 Generated |
&vangF🎉
|
18 B | |
| 005589 | generated/0754 Generated |
a&plustwo� ␊aa#aé␀>
|
37 B | |
| 005590 | generated/0755 Generated |
␉>␉␀€🎉aZaⅈZgxa
|
46 B | |
| 005591 | generated/0756 Generated |
7␍␉Ë日<⤚'a�xf�↷é
|
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