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 |
|---|---|---|---|---|
| 005828 | generated/0993 Generated |
Ax≵>&€#gZx
|
34 B | |
| 005829 | generated/0994 Generated |
⇃é&mapsto␉x"#
|
39 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 | |
| 005836 | generated/1001 Generated |
&frac5='€&sho⊗
|
38 B | |
| 005837 | generated/1002 Generated |
∂̸f🎉…◊ ␍⟨U+10FFFF⟩ €">a≿±
|
76 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 | |
| 005847 | generated/1012 Generated |
€
|
13 B | |
| 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 | |
| 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 | |
| 005872 | generated/1037 Generated |
日Թ-'
|
19 B | |
| 005873 | generated/1038 Generated |
🎉
|
13 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 | |
| 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 |
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