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 |
|---|---|---|---|---|
| 005750 | generated/0915 Generated |
&quest&Ε�&
|
28 B | |
| 005751 | generated/0916 Generated |
␉#
|
2 B | |
| 005752 | generated/0917 Generated |
в…&sqcu'日�&ma&LeftTeeVect
|
52 B | |
| 005753 | generated/0918 Generated |
ª␀&n␊⟨U+00A0⟩f
|
18 B | |
| 005754 | generated/0919 Generated |
⪰é↖┼9&thÚ⇙g日辥é
|
80 B | |
| 005755 | generated/0920 Generated |
⊠g"░
|
27 B | |
| 005756 | generated/0921 Generated |
␀ �Δ;;&Pa🎉&g⟨U+2060⟩0x"&Om
|
61 B | |
| 005757 | generated/0922 Generated |
␍>&imagp≼日0�烕≂̸&per&sqsupé␀
|
71 B | |
| 005758 | generated/0923 Generated |
Ÿ&low�a9␊≳⟨U+00A0⟩ &nb╛g
|
78 B | |
| 005759 | generated/0924 Generated |
'␍␍&awcg#Z
|
26 B | |
| 005760 | generated/0925 Generated |
日&Unde Fxg⥝>=xZ'␍'
|
55 B | |
| 005761 | generated/0926 Generated |
g��xg�𝒵в𝔬�x
|
66 B | |
| 005762 | generated/0927 Generated |
&emsZ
|
5 B | |
| 005763 | generated/0928 Generated |
∥g0F7
|
45 B | |
| 005764 | generated/0929 Generated |
&tim#&npreceŸ␊é&pr>ï0
|
31 B | |
| 005765 | generated/0930 Generated |
f7�gé9
|
15 B | |
| 005766 | generated/0931 Generated |
␀⟷<�
|
30 B | |
| 005767 | generated/0932 Generated |
F
|
1 B | |
| 005768 | generated/0933 Generated |
⟨U+00A0⟩␊␊Fg<<␀
|
59 B | |
| 005769 | generated/0934 Generated |
␉x⪊>⇒Z-&NotLe;=�'𝓀⧄&Xi
|
55 B | |
| 005770 | generated/0935 Generated |
␀␉␉€
|
8 B | |
| 005771 | generated/0936 Generated |
␉&nti
|
5 B | |
| 005772 | generated/0937 Generated |
🎉&fork#
|
19 B | |
| 005773 | generated/0938 Generated |
日Z"␊&ll␍7&No=🎉Z
|
20 B | |
| 005774 | generated/0939 Generated |
𝕕&tgg␍é␊a
|
32 B | |
| 005775 | generated/0940 Generated |
&or&zeet;€
|
12 B | |
| 005776 | generated/0941 Generated |
␊�
|
4 B | |
| 005777 | generated/0942 Generated |
⊗0膄f␉aZ… 9g╡Ÿ>==
|
63 B | |
| 005778 | generated/0943 Generated |
|
8 B | |
| 005779 | generated/0944 Generated |
x🎉日␊𝔼&Ea␉€x ⊚">g
|
41 B | |
| 005780 | generated/0945 Generated |
9«x␊£↑␊&No<é&eq␊⟼F7
|
50 B | |
| 005781 | generated/0946 Generated |
🎉≈&NegativeThinS�
|
36 B | |
| 005782 | generated/0947 Generated |
🎉⦍>⟨U+00A0⟩ ⩾̸⟨U+10FFFF⟩↢
|
60 B | |
| 005783 | generated/0948 Generated |
>>€=F
|
18 B | |
| 005784 | generated/0949 Generated |
ꏳg▄fFAZ≧̸ Za⊳🎉a🎉
|
74 B | |
| 005785 | generated/0950 Generated |
=&eA Z£& …𐛬g&RightCe𤿟g⤐'
|
92 B | |
| 005786 | generated/0951 Generated |
�g
|
19 B | |
| 005787 | generated/0952 Generated |
fx<g&leftthreetimes&gdot0
|
34 B | |
| 005788 | generated/0953 Generated |
7日�
|
29 B | |
| 005789 | generated/0954 Generated |
=≙;"0F␍␀⊋"7
|
28 B | |
| 005790 | generated/0955 Generated |
>␊&rcea日…x␉>do¦
|
29 B | |
| 005791 | generated/0956 Generated |
日␉ � ␉-␉⦤;␀
|
26 B | |
| 005792 | generated/0957 Generated |
ég␉f€⧐
|
34 B | |
| 005793 | generated/0958 Generated |
-&h
|
3 B | |
| 005794 | generated/0959 Generated |
€∀␊#-7⟨U+00A0⟩x<x⟨U+00A0⟩x
|
29 B | |
| 005795 | generated/0960 Generated |
' #'˝7-♥&bo
|
41 B | |
| 005796 | generated/0961 Generated |
'𗘴�&֘>"'¼ ␀#
|
47 B | |
| 005797 | generated/0962 Generated |
␍9x<&iacut
|
10 B | |
| 005798 | generated/0963 Generated |
&⟨U+FFFF⟩⩷␀#&gs&9f™#日Z␀
|
47 B | |
| 005799 | generated/0964 Generated |
7©&sqcaf␀9🎉␍x &updownar&boxf
|
36 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