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
All 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 006600 | generated/1765 Generated |
␍&zw9 &bigcg𰒫␍🎉=␀𬦡
|
58 B | |
| 006601 | generated/1766 Generated |
&plusci&to⟨U+10FFFF⟩&a-='99&p▹≻&7&ns0
|
56 B | |
| 006602 | generated/1767 Generated |
␍⊵⃒&NotCupC⟨U+10FFFF⟩ ;>⋷␀f日g&NotPrecedesEqu;Z
|
71 B | |
| 006603 | generated/1768 Generated |
␍<xf␉�␉Z🎉"&tcaro'
|
29 B | |
| 006604 | generated/1769 Generated |
-&com€⤒🎉&rf-…␍x⧉� ⟨U+10FFFF⟩x
|
63 B | |
| 006605 | generated/1770 Generated |
A ␍f␊␍␍f⟨U+10FFFF⟩ Ű
|
29 B | |
| 006606 | generated/1771 Generated |
&x&g�#&riƵ€ 9"
|
42 B | |
| 006607 | generated/1772 Generated |
-␀🎉�-&x⟨U+FFFF⟩Ÿ Ax
|
36 B | |
| 006608 | generated/1773 Generated |
&g⟨U+00A0⟩␊⟨U+00A0⟩
|
13 B | |
| 006609 | generated/1774 Generated |
⥑0g&nc&n&␀&Odblac ⊤A�ga␊
|
83 B | |
| 006610 | generated/1775 Generated |
&les�Æ- F€␉␊x
|
35 B | |
| 006611 | generated/1776 Generated |
Z⤳̸-…a日€ZFп␊é
|
43 B | |
| 006612 | generated/1777 Generated |
ц⊰&gvnE'&comÇ&IJli&;f
|
49 B | |
| 006613 | generated/1778 Generated |
�Z&␀&L-␀7 � 7␉x␊Z
|
54 B | |
| 006614 | generated/1779 Generated |
<A ␀=<ℐ9�x
|
51 B | |
| 006615 | generated/1780 Generated |
&scn
|
12 B | |
| 006616 | generated/1781 Generated |
"&NotLessSlan&upsilong'␀a
|
43 B | |
| 006617 | generated/1782 Generated |
␊�
|
10 B | |
| 006618 | generated/1783 Generated |
Δ&udarr
|
22 B | |
| 006619 | generated/1784 Generated |
ъ&日⪥FF=⇄
|
47 B | |
| 006620 | generated/1785 Generated |
xŔ&ord&uarr&o␍f'
|
23 B | |
| 006621 | generated/1786 Generated |
gAx»🎉9;�"€
|
53 B | |
| 006622 | generated/1787 Generated |
>日∑&or"␉…ag= &psc␉& 𰛖
|
50 B | |
| 006623 | generated/1788 Generated |
f␍9␀⇛'f␊#␀é🎉0▹&OslasŸ
|
46 B | |
| 006624 | generated/1789 Generated |
9 9-
|
4 B | |
| 006625 | generated/1790 Generated |
;🎉ag�␊xfF
|
32 B | |
| 006626 | generated/1791 Generated |
♮&oc␉⥳ü日;;
|
31 B | |
| 006627 | generated/1792 Generated |
⧄𢣍#䅩ga9"F桓g⧶a
|
53 B | |
| 006628 | generated/1793 Generated |
<&Integ0Õ␉9&Ra;
|
22 B | |
| 006629 | generated/1794 Generated |
日f⊴<g�&subE'𥛽'🎉Z
|
62 B | |
| 006630 | generated/1795 Generated |
Z⊢&╚€&m⟨U+00A0⟩x"7
|
32 B | |
| 006631 | generated/1796 Generated |
&g⋛︀f𝔴
|
23 B | |
| 006632 | generated/1797 Generated |
&setmi&blacktriang
|
18 B | |
| 006633 | generated/1798 Generated |
€Ÿx&rarr⊴␉ô␉x€-½␊
|
66 B | |
| 006634 | generated/1799 Generated |
f␊ '<fZ␍x
|
24 B | |
| 006635 | generated/1800 Generated |
F⊢c⩭9&dhæŸ Ÿx&x&NotRightTriangleBa
|
68 B | |
| 006636 | generated/1801 Generated |
日gĥ€&SquareSup7日&sx;
|
48 B | |
| 006637 | generated/1802 Generated |
é�xZ ⟨U+10FFFF⟩&ups뜂<
|
45 B | |
| 006638 | generated/1803 Generated |
␍
|
5 B | |
| 006639 | generated/1804 Generated |
𝔎a
|
6 B | |
| 006640 | generated/1805 Generated |
é€ℬ&g&prec�&p⋬␀∮=<7€
|
72 B | |
| 006641 | generated/1806 Generated |
⟨U+00A0⟩ é&W"⨩⟨U+00A0⟩x␍≐⊏&llha
|
48 B | |
| 006642 | generated/1807 Generated |
;…x⟨U+FFFF⟩x#;&…⟨U+00A0⟩� &subset<�⟨U+10FFFF⟩x
|
85 B | |
| 006643 | generated/1808 Generated |
#␊&su&la0#&␊€∘␉⫭g␍
|
61 B | |
| 006644 | generated/1809 Generated |
� 9€#
|
26 B | |
| 006645 | generated/1810 Generated |
␊a� F'�&twoheadlefta¿&subset␊
|
67 B | |
| 006646 | generated/1811 Generated |
яga€&larr␉&Aci
|
37 B | |
| 006647 | generated/1812 Generated |
␊x∾#-Zfé-
|
29 B | |
| 006648 | generated/1813 Generated |
… #≩=Ì␊ aA<7A >;f#
|
44 B | |
| 006649 | generated/1814 Generated |
<a&rbar≑'␀
|
37 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