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 |
|---|---|---|---|---|
| 005650 | generated/0815 Generated |
ϖ⫌︀ >� ⟨U+00A0⟩… … f'&
|
45 B | |
| 005651 | generated/0816 Generated |
&sq⟨U+FFFF⟩x>&Ph>
|
34 B | |
| 005652 | generated/0817 Generated |
☎<&Ccir&nraé
|
19 B | |
| 005653 | generated/0818 Generated |
x日&LeftFl␀g&
|
26 B | |
| 005654 | generated/0819 Generated |
日ℜ9&supse‐a�
|
35 B | |
| 005655 | generated/0820 Generated |
𝓃&ForAl9Z␀&RightArrowLeftA&&gne&nvHa<&g0␍
|
71 B | |
| 005656 | generated/0821 Generated |
日a␉⫇
|
21 B | |
| 005657 | generated/0822 Generated |
-⟨U+FFFF⟩&7⥰é;␊é9
|
40 B | |
| 005658 | generated/0823 Generated |
€&LeftUpVectorBZ&0a🎉&lst'a⟨U+FFFF⟩
|
42 B | |
| 005659 | generated/0824 Generated |
┴<
|
8 B | |
| 005660 | generated/0825 Generated |
x<뤴g"<€x日🎉>#&RE�g
|
48 B | |
| 005661 | generated/0826 Generated |
⫃<&rcy"Zx&ori≧7
|
35 B | |
| 005662 | generated/0827 Generated |
g
|
9 B | |
| 005663 | generated/0828 Generated |
�&␉ &l7g&Y&Ium⋐Fx
|
52 B | |
| 005664 | generated/0829 Generated |
gF␉
|
11 B | |
| 005665 | generated/0830 Generated |
{>-&af=Š>&p🎉Z░⟨U+FFFF⟩
|
73 B | |
| 005666 | generated/0831 Generated |
␊<⌜␀ 9
|
31 B | |
| 005667 | generated/0832 Generated |
€x"␊ ;fx⟨U+10FFFF⟩x€日␊&NotReve
|
49 B | |
| 005668 | generated/0833 Generated |
g⟨U+00A0⟩xg-g⪺g#
|
80 B | |
| 005669 | generated/0834 Generated |
&black𝒦x"&x&rtim&real�
|
45 B | |
| 005670 | generated/0835 Generated |
;0x日€&Zeta␀ -␍xx;<
|
25 B | |
| 005671 | generated/0836 Generated |
ű;f
|
20 B | |
| 005672 | generated/0837 Generated |
Ŷ#'␀;Fg
|
21 B | |
| 005673 | generated/0838 Generated |
f&Ran
|
5 B | |
| 005674 | generated/0839 Generated |
⟨U+10FFFF⟩xg#€� #gf�9⥘&pf
|
82 B | |
| 005675 | generated/0840 Generated |
;&CoÑ日␉日␉ʞ -
|
36 B | |
| 005676 | generated/0841 Generated |
Z▵A&ud �
|
23 B | |
| 005677 | generated/0842 Generated |
gf˜⟨U+FFFF⟩xgé7⟪x⋈F⟨U+FFFF⟩<&urcrop9
|
77 B | |
| 005678 | generated/0843 Generated |
Ff␍fЫ&Iogon🎉␊>-␉… &bu
|
32 B | |
| 005679 | generated/0844 Generated |
🎉␊ &c;∴Z&ph⟫🎉&supset&scpol␊…
|
70 B | |
| 005680 | generated/0845 Generated |
⟨U+00A0⟩ ;xÒ&escr⟨U+10FFFF⟩ g&bia�a� #⊤x
|
79 B | |
| 005681 | generated/0846 Generated |
⃜é&Fo&succnsi&nuŸx≌#g␍=⟨U+10FFFF⟩x<a
|
74 B | |
| 005682 | generated/0847 Generated |
&olc&0⟨U+00A0⟩x…<
|
18 B | |
| 005683 | generated/0848 Generated |
ϝ␉ >'9a⥏'€a🎉
|
58 B | |
| 005684 | generated/0849 Generated |
'€"ZŸ ><=␉ ␀9'␍
|
23 B | |
| 005685 | generated/0850 Generated |
🎉⥥␊
|
20 B | |
| 005686 | generated/0851 Generated |
&U&g␊=>&B=乓gZ
|
32 B | |
| 005687 | generated/0852 Generated |
a␀9F š␀&sc#&urin≗€&otimesag
|
49 B | |
| 005688 | generated/0853 Generated |
>�x7
|
12 B | |
| 005689 | generated/0854 Generated |
日&targ<␊
|
10 B | |
| 005690 | generated/0855 Generated |
␀ℳ⩯&Aop␉0�´0&hg⩚
|
78 B | |
| 005691 | generated/0856 Generated |
&trianglele…x⊐𝕕⟨U+10FFFF⟩&RightVectorgZ⪶F
|
86 B | |
| 005692 | generated/0857 Generated |
';&cA€F…
|
27 B | |
| 005693 | generated/0858 Generated |
╬␍€&d0f€g f
|
29 B | |
| 005694 | generated/0859 Generated |
0€&Kc
|
7 B | |
| 005695 | generated/0860 Generated |
-&Icg&F''⟨U+00A0⟩ ⤎g
|
70 B | |
| 005696 | generated/0861 Generated |
&&eqsim�с
|
31 B | |
| 005697 | generated/0862 Generated |
⫕&rppolĜ"'&empt
|
28 B | |
| 005698 | generated/0863 Generated |
<-7A≮€fjF0"⟨U+10FFFF⟩␊xx
|
44 B | |
| 005699 | generated/0864 Generated |
╛␍ ␉&xAx7⅛
|
32 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