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 |
|---|---|---|---|---|
| 006727 | generated/1892 Generated |
-␊🎉7&bx␉⪐xxé⩀� ␉
|
41 B | |
| 006728 | generated/1893 Generated |
&Fopfx␍⦫g␊&Lsh␀-⟨U+00A0⟩x7🎉'&cudar
|
52 B | |
| 006729 | generated/1894 Generated |
¸
|
15 B | |
| 006730 | generated/1895 Generated |
␉>;&cuv&ced99&&righ&pun␍xZ
|
48 B | |
| 006731 | generated/1896 Generated |
␊≇ℜég-g…x€ ␍
|
64 B | |
| 006732 | generated/1897 Generated |
␉␊ag&0&larrsim7⋏␊&dbkg⩔
|
53 B | |
| 006733 | generated/1898 Generated |
&zf€… =␉á␀
|
22 B | |
| 006735 | generated/1900 Generated |
Ï&nm&nsug
|
22 B | |
| 006736 | generated/1901 Generated |
日f7#-␉⟨U+2062⟩日&epsa€xf
|
36 B | |
| 006737 | generated/1902 Generated |
-7>>;>€x🎉
|
49 B | |
| 006738 | generated/1903 Generated |
�xℯ="gA
|
34 B | |
| 006740 | generated/1905 Generated |
⪒€&egs␀␊ ␍x⟨U+200C⟩7&Ax␉&E"
|
49 B | |
| 006741 | generated/1906 Generated |
Z␍� -日#0ʉ𝕙𝕦 &l
|
47 B | |
| 006742 | generated/1907 Generated |
#f�g9␉&aŸx
|
30 B | |
| 006743 | generated/1908 Generated |
<
|
9 B | |
| 006745 | generated/1910 Generated |
9Z€a>&boxVh€=xé=⃥
|
35 B | |
| 006746 | generated/1911 Generated |
&ntrianglerigh␉ =�&AEl>
|
34 B | |
| 006747 | generated/1912 Generated |
&ia7␊↔F"><
|
43 B | |
| 006749 | generated/1914 Generated |
⌝0&&JAx
|
25 B | |
| 006750 | generated/1915 Generated |
&v"¹0␍⊗ÄŸ␉<Zé
|
56 B | |
| 006751 | generated/1916 Generated |
f␀␀…-g&box&N␍␍ g#g
|
51 B | |
| 006752 | generated/1917 Generated |
ℯ␍x"ℊ'⊐a9F⪾
|
55 B | |
| 006753 | generated/1918 Generated |
0∫… xℂ-gŸ日
|
62 B | |
| 006754 | generated/1919 Generated |
7&box日x&Racu&loz
|
26 B | |
| 006755 | generated/1920 Generated |
- &Wopf轏g
|
25 B | |
| 006756 | generated/1921 Generated |
9␀€>F⟨U+10FFFF⟩ "
|
30 B | |
| 006758 | generated/1923 Generated |
aé&&w� ␉x␊&VdashlZ␉Ÿ␊&E 日
|
43 B | |
| 006760 | generated/1925 Generated |
␀> >g7F⟦␍␊日F0&succ&DDo
|
46 B | |
| 006761 | generated/1926 Generated |
␉FA >µ�9€
|
46 B | |
| 006762 | generated/1927 Generated |
⊴⃒⟨U+10FFFF⟩xā0& #&VeryThi&sqsubsea⨣⧎
|
99 B | |
| 006763 | generated/1928 Generated |
Ƶ�𝔤ℭ𗖥⟨U+FFFF⟩€␍&vsu- &Tscr
|
66 B | |
| 006764 | generated/1929 Generated |
€g<7
|
25 B | |
| 006765 | generated/1930 Generated |
𖢔g#&Dot�…xxa<�x
|
31 B | |
| 006766 | generated/1931 Generated |
7A �x日≀F
|
42 B | |
| 006767 | generated/1932 Generated |
'f⟨U+00A0⟩ €␍ ␉� &rd
|
31 B | |
| 006768 | generated/1933 Generated |
&é␍🎉&imagp⩽⟨U+FFFF⟩>&br‥≎
|
55 B | |
| 006769 | generated/1934 Generated |
␀𣏿gf␊=g↔␍;>␀
|
41 B | |
| 006770 | generated/1935 Generated |
g日&poun0Ax9.𝕩g<&xℯg
|
78 B | |
| 006771 | generated/1936 Generated |
𥈙ga€é
|
32 B | |
| 006772 | generated/1937 Generated |
␍␍␀🎉&Uar<𮖷g<"x&Tild#&Del
|
44 B | |
| 006773 | generated/1938 Generated |
␀;70⟨U+10FFFF⟩&fc9F⇏
|
26 B | |
| 006774 | generated/1939 Generated |
';&angrt&9g7ŸÖ&Oop€g>
|
59 B | |
| 006775 | generated/1940 Generated |
f€␀&esdo日&Su&>f␀g<␊x
|
45 B | |
| 006777 | generated/1942 Generated |
&ap∸&&lambdaf─xg⌝
|
48 B | |
| 006780 | generated/1945 Generated |
|
8 B | |
| 006781 | generated/1946 Generated |
F日⟶&Bcyg9&d€␍𝕃7<Agx
|
66 B | |
| 006782 | generated/1947 Generated |
g-␉xx'�␊€⍼;&wop
|
51 B | |
| 006783 | generated/1948 Generated |
ʼn⟨U+00A0⟩é␉Ÿ€
|
38 B | |
| 006785 | generated/1950 Generated |
'g&plu␉'&xé��é⟨U+FFFF⟩x�0𬛦g
|
78 B | |
| 006786 | generated/1951 Generated |
g9ŷ𬍢&s>
|
30 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