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 |
|---|---|---|---|---|
| 005769 | generated/0934 Generated |
␉x⪊>⇒Z-&NotLe;=�'𝓀⧄&Xi
|
55 B | |
| 005770 | generated/0935 Generated |
␀␉␉€
|
8 B | |
| 005772 | generated/0937 Generated |
🎉&fork#
|
19 B | |
| 005774 | generated/0939 Generated |
𝕕&tgg␍é␊a
|
32 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 | |
| 005790 | generated/0955 Generated |
>␊&rcea日…x␉>do¦
|
29 B | |
| 005791 | generated/0956 Generated |
日␉ � ␉-␉⦤;␀
|
26 B | |
| 005792 | generated/0957 Generated |
ég␉f€⧐
|
34 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 | |
| 005798 | generated/0963 Generated |
&⟨U+FFFF⟩⩷␀#&gs&9f™#日Z␀
|
47 B | |
| 005800 | generated/0965 Generated |
␀␍⟨U+FFFF⟩&⟨U+00A0⟩ &sup℘ˇ7&
|
40 B | |
| 005801 | generated/0966 Generated |
&Doⅅ;0…Z
|
15 B | |
| 005802 | generated/0967 Generated |
␉⟨U+FFFF⟩=
|
10 B | |
| 005803 | generated/0968 Generated |
&fZ⪹ѓAx9>&napp⎵&#…x=&Vertica
|
65 B | |
| 005804 | generated/0969 Generated |
#F#∩␉ Z'xZ
|
16 B | |
| 005805 | generated/0970 Generated |
'� é&DiacriticalDoubleAcuteZ7;␀>Я'
|
65 B | |
| 005806 | generated/0971 Generated |
x€Ì� gx␉xF>>7
|
50 B | |
| 005807 | generated/0972 Generated |
F�g&l=fF7&�⟨U+00A0⟩>␀Ю⟨U+10FFFF⟩=
|
58 B | |
| 005808 | generated/0973 Generated |
⟨U+00A0⟩=g⟨U+10FFFF⟩�␊␊x&⇖x&alep�
|
75 B | |
| 005809 | generated/0974 Generated |
╩0&ni⟨U+FFFF⟩ &Empty&Jopf
|
30 B | |
| 005810 | generated/0975 Generated |
g=
|
11 B | |
| 005812 | generated/0977 Generated |
f⟨U+10FFFF⟩<&it
|
32 B | |
| 005813 | generated/0978 Generated |
f;� Ζ␀Z7"9
|
21 B | |
| 005814 | generated/0979 Generated |
␍Ag9␍7é'
|
47 B | |
| 005815 | generated/0980 Generated |
€�
|
10 B | |
| 005816 | generated/0981 Generated |
>€ga␍g⟨U+FFFF⟩;𝔼é0&ga
|
54 B | |
| 005817 | generated/0982 Generated |
&9
|
6 B | |
| 005818 | generated/0983 Generated |
日7Z�-0>9'⥜␍¶
|
69 B | |
| 005819 | generated/0984 Generated |
&urcorn⟨U+FFFF⟩ f␀€g&>r日⊥�x
|
51 B | |
| 005820 | generated/0985 Generated |
a␍
|
15 B | |
| 005822 | generated/0987 Generated |
&sup&bdq&efr"Ax7Zg
|
42 B | |
| 005823 | generated/0988 Generated |
g9␉␉9 '€ f7�
|
43 B | |
| 005824 | generated/0989 Generated |
␀⟨U+FFFF⟩ "⟨U+2060⟩g€Fa€&Short=
|
45 B | |
| 005825 | generated/0990 Generated |
⟨U+FFFF⟩�x␀"&succc0␉␀ŸZg≎
|
67 B | |
| 005826 | generated/0991 Generated |
⨿…=é 7ℭ⟨U+10FFFF⟩g0 Z0
|
46 B | |
| 005827 | generated/0992 Generated |
⟨U+10FFFF⟩x🎉 F
|
16 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