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 |
|---|---|---|---|---|
| 005848 | generated/1013 Generated |
日␍ ⇏Z
|
22 B | |
| 005849 | generated/1014 Generated |
F&z&Tcaro#␀x&plug
|
25 B | |
| 005850 | generated/1015 Generated |
⟨U+10FFFF⟩x𰐲g␍&Aum
|
34 B | |
| 005851 | generated/1016 Generated |
g;ax"Σ&ff
|
63 B | |
| 005852 | generated/1017 Generated |
∐9
|
21 B | |
| 005853 | generated/1018 Generated |
&mapg&subedo=x¢#⟉
|
38 B | |
| 005854 | generated/1019 Generated |
a€g&laqu⟨U+00A0⟩ €⪹&ocir&LfjZ
|
58 B | |
| 005855 | generated/1020 Generated |
□↫07␍↣Ы0&rightsquigarr&la"߀�x
|
75 B | |
| 005856 | generated/1021 Generated |
&⋫
|
17 B | |
| 005857 | generated/1022 Generated |
Z+g'Z&#'&weierpý日⟨U+00A0⟩∅9
|
50 B | |
| 005858 | generated/1023 Generated |
� >𝕗␍Z␍ ;F🎉⪺�
|
52 B | |
| 005859 | generated/1024 Generated |
⊸�&p&pluse␊
|
25 B | |
| 005860 | generated/1025 Generated |
⟨U+FFFF⟩ …�␉&h9␊&ye&an日␉-
|
51 B | |
| 005861 | generated/1026 Generated |
␀ 79🎉"⪌&R®↥🎉g🎉7
|
75 B | |
| 005862 | generated/1027 Generated |
0␍&DoubleDo"&sho&lrh
|
36 B | |
| 005863 | generated/1028 Generated |
'␊⟨U+FFFF⟩&ro␀Zx日⟨U+00A0⟩x=x &rightthreetime#␀
|
45 B | |
| 005864 | generated/1029 Generated |
🎉0ϱ9⇗⦧┴Ag␊&le…␍&rdca
|
69 B | |
| 005865 | generated/1030 Generated |
⫽⃥𝟔ga⋽␉�x␉Z&no
|
57 B | |
| 005866 | generated/1031 Generated |
ggAx⇁
|
41 B | |
| 005867 | generated/1032 Generated |
7;&&si∨"f
|
33 B | |
| 005868 | generated/1033 Generated |
é⤄"a€FZ="
|
21 B | |
| 005869 | generated/1034 Generated |
&s0&-=77␀␉-é日'
|
26 B | |
| 005870 | generated/1035 Generated |
&q>;𩡹#&Bre-␀x
|
22 B | |
| 005874 | generated/1039 Generated |
� 日&Not
|
17 B | |
| 005875 | generated/1040 Generated |
⟵∈‱A
|
36 B | |
| 005876 | generated/1041 Generated |
†9g0♮&p=>&pa𝕃&an𝒸&Ifr€a
|
68 B | |
| 005877 | generated/1042 Generated |
🎉Z⇃éñ…x≃-&m
|
42 B | |
| 005878 | generated/1043 Generated |
<0🐤é&blackt9
|
20 B | |
| 005879 | generated/1044 Generated |
&NJcд␉&ma&DownBre␉&xupg⨷⅝�&Sum<;
|
76 B | |
| 005881 | generated/1046 Generated |
<↥Z
|
14 B | |
| 005882 | generated/1047 Generated |
&&Kop;'
|
7 B | |
| 005883 | generated/1048 Generated |
éZ-←&cu<& &varsig�&lstro>-␊;
|
56 B | |
| 005884 | generated/1049 Generated |
&LeftDownVectorBa␊∂␉"& ;& -
|
42 B | |
| 005885 | generated/1050 Generated |
&IOc;␉🎉Ì⊈日g&t␍&supseteqq🎉🎉
|
75 B | |
| 005886 | generated/1051 Generated |
&NotNestedGreaterGreatΣ␊aF&x∨<gβ-<<
|
62 B | |
| 005888 | generated/1053 Generated |
#␍>␊x9␍g⩅␀⪿⎵␀>🎉
|
67 B | |
| 005890 | generated/1055 Generated |
␍ g&l&�&&ntriangleri-
|
48 B | |
| 005891 | generated/1056 Generated |
">⟨U+FFFF⟩𛋰g&sub
|
30 B | |
| 005892 | generated/1057 Generated |
␀=*⌈⟨U+10FFFF⟩xxg
|
37 B | |
| 005893 | generated/1058 Generated |
"␉&a
|
7 B | |
| 005894 | generated/1059 Generated |
"&forkv"0&x07�&RightDow®
|
38 B | |
| 005896 | generated/1061 Generated |
F␊ � ␉ "ℐñ€Ūé
|
46 B | |
| 005897 | generated/1062 Generated |
"⟨U+10FFFF⟩&xrArr≥⃒;&subseteqq≯"
|
60 B | |
| 005898 | generated/1063 Generated |
"&N€##⟨U+00A0⟩x'�x⌝≿�g€
|
74 B | |
| 005899 | generated/1064 Generated |
&⥵9é�x
|
23 B | |
| 005900 | generated/1065 Generated |
𧷧g9<œ&ss⟨U+10FFFF⟩
|
31 B | |
| 005901 | generated/1066 Generated |
␍#x&TĒ
|
12 B | |
| 005902 | generated/1067 Generated |
␍␊€ Z▹#
|
29 B | |
| 005903 | generated/1068 Generated |
x&=-¶lle
|
12 B | |
| 005904 | generated/1069 Generated |
&oper⪁␊␊<&og␀�g € >&Afr⇥
|
68 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