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 |
|---|---|---|---|---|
| 005787 | generated/0952 Generated |
fx<g&leftthreetimes&gdot0
|
34 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 | |
| 005800 | generated/0965 Generated |
␀␍⟨U+FFFF⟩&⟨U+00A0⟩ &sup℘ˇ7&
|
40 B | |
| 005801 | generated/0966 Generated |
&Doⅅ;0…Z
|
15 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 | |
| 005812 | generated/0977 Generated |
f⟨U+10FFFF⟩<&it
|
32 B | |
| 005813 | generated/0978 Generated |
f;� Ζ␀Z7"9
|
21 B | |
| 005816 | generated/0981 Generated |
>€ga␍g⟨U+FFFF⟩;𝔼é0&ga
|
54 B | |
| 005818 | generated/0983 Generated |
日7Z�-0>9'⥜␍¶
|
69 B | |
| 005819 | generated/0984 Generated |
&urcorn⟨U+FFFF⟩ f␀€g&>r日⊥�x
|
51 B | |
| 005821 | generated/0986 Generated |
&␉ф€F⩽␊
|
17 B | |
| 005822 | generated/0987 Generated |
&sup&bdq&efr"Ax7Zg
|
42 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 | |
| 005828 | generated/0993 Generated |
Ax≵>&€#gZx
|
34 B | |
| 005829 | generated/0994 Generated |
⇃é&mapsto␉x"#
|
39 B | |
| 005830 | generated/0995 Generated |
日x-Ź'f␊€
|
19 B | |
| 005831 | generated/0996 Generated |
⊢日&epsi
|
27 B | |
| 005832 | generated/0997 Generated |
0 &mumapa🎉'€A7 ⟨U+00A0⟩0"a
|
40 B | |
| 005833 | generated/0998 Generated |
� &𝒫ℜg␊"
|
38 B | |
| 005834 | generated/0999 Generated |
␉⟶🎉␍&c…x&pcy⟨U+00A0⟩�x&R␀#␉A
|
64 B | |
| 005835 | generated/1000 Generated |
&nVda9
|
6 B | |
| 005836 | generated/1001 Generated |
&frac5='€&sho⊗
|
38 B | |
| 005837 | generated/1002 Generated |
∂̸f🎉…◊ ␍⟨U+10FFFF⟩ €">a≿±
|
76 B | |
| 005838 | generated/1003 Generated |
&Nsc€0
|
8 B | |
| 005839 | generated/1004 Generated |
"&sup�Z日0&
|
14 B | |
| 005840 | generated/1005 Generated |
&swA␍𝕪g
|
20 B | |
| 005841 | generated/1006 Generated |
0Z#⦶">FAx
|
17 B | |
| 005842 | generated/1007 Generated |
#∩Ю⊓︀=&raqu␉é𝔐␊g#&Cap
|
49 B | |
| 005843 | generated/1008 Generated |
&anx日⊥Ã
|
31 B | |
| 005844 | generated/1009 Generated |
␍日&pfA
|
21 B | |
| 005845 | generated/1010 Generated |
<&r⋂𭢱日🎉␊é␍ €-
|
56 B | |
| 005846 | generated/1011 Generated |
&Idoté𝕊&shortpa␉9日𦈩g日€x
|
61 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