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 |
|---|---|---|---|---|
| 006559 | generated/1724 Generated |
␍
|
4 B | |
| 006560 | generated/1725 Generated |
=g␀=ϰ7&Uu<imes<
|
51 B | |
| 006561 | generated/1726 Generated |
&H0␊ Ï␀�&G&=7
|
29 B | |
| 006562 | generated/1727 Generated |
⟨U+2061⟩g␉x
|
37 B | |
| 006564 | generated/1729 Generated |
"&Nof€<&Nacu日≎<日τZ⟨U+10FFFF⟩"7
|
57 B | |
| 006565 | generated/1730 Generated |
g&B⟨U+10FFFF⟩€a&approxeq&dow
|
47 B | |
| 006566 | generated/1731 Generated |
&m�9␉x日ℰ >g"⇃
|
63 B | |
| 006567 | generated/1732 Generated |
␉<�é
|
13 B | |
| 006568 | generated/1733 Generated |
�Fx
|
18 B | |
| 006569 | generated/1734 Generated |
&COPgŸx&ddaf日␊␊␍-&o&vAr🎉
|
55 B | |
| 006571 | generated/1736 Generated |
⨁0g
|
19 B | |
| 006572 | generated/1737 Generated |
a&gammax�Ð&e␀
|
32 B | |
| 006573 | generated/1738 Generated |
日ω&S0'∽␀a�🎉Z
|
43 B | |
| 006574 | generated/1739 Generated |
�x>␍0;&sg&HumpEqé␊&Nug)
|
62 B | |
| 006575 | generated/1740 Generated |
é…é&yeaé€
|
31 B | |
| 006576 | generated/1741 Generated |
0=;␍&Tab␍Ï'=� x<⦴
|
61 B | |
| 006577 | generated/1742 Generated |
<g>�&&
|
48 B | |
| 006578 | generated/1743 Generated |
&Im␀é9�x🎉🎉#g
|
38 B | |
| 006579 | generated/1744 Generated |
<⟨U+00A0⟩&s°-€🎉⟶␍f;Z
|
51 B | |
| 006580 | generated/1745 Generated |
腩g… 7Ó"⪊Z 9
|
38 B | |
| 006581 | generated/1746 Generated |
€g�7-g
|
33 B | |
| 006582 | generated/1747 Generated |
A⟨U+FFFF⟩ ␍>Z&pi&va
|
50 B | |
| 006583 | generated/1748 Generated |
&N≹缾gF >�>
|
40 B | |
| 006585 | generated/1750 Generated |
x日␉9�g='&Mu�&A&nsupeZ
|
54 B | |
| 006586 | generated/1751 Generated |
⦐🎉⟸g日&x␉>�∾;ä"€
|
93 B | |
| 006587 | generated/1752 Generated |
⟨U+00A0⟩⦴&🎉␉0⦤
|
29 B | |
| 006588 | generated/1753 Generated |
& &Circl#F␉ ␀<&topfor
|
43 B | |
| 006589 | generated/1754 Generated |
日=⪵<g␊⪝&rm
|
31 B | |
| 006590 | generated/1755 Generated |
;日␊fū7>reqqles#🎉
|
56 B | |
| 006591 | generated/1756 Generated |
F…&ReverseUpEquilibrixx7x7𝠹 x␀⋛︀∨7
|
61 B | |
| 006592 | generated/1757 Generated |
<=&=
|
15 B | |
| 006594 | generated/1759 Generated |
␍#␉�
|
12 B | |
| 006595 | generated/1760 Generated |
&pl<⋫€↞ ≐ag7Z-⋀'
|
72 B | |
| 006597 | generated/1762 Generated |
xf␊뎚ņ<␊ ␉␉␀&awconi& g
|
60 B | |
| 006598 | generated/1763 Generated |
␀ xé→␀&gsixg␍"⊥=
|
52 B | |
| 006599 | generated/1764 Generated |
…𑅑&hy&sup&Isa<7␊𝔵¹�x&&NotHum
|
65 B | |
| 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 |
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