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 |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 005695 | generated/0860 Generated |
-&Icg&F''⟨U+00A0⟩ ⤎g
|
70 B | |
| 005696 | generated/0861 Generated |
&&eqsim�с
|
31 B | |
| 005698 | generated/0863 Generated |
<-7A≮€fjF0"⟨U+10FFFF⟩␊xx
|
44 B | |
| 005699 | generated/0864 Generated |
╛␍ ␉&xAx7⅛
|
32 B | |
| 005700 | generated/0865 Generated |
&percnt␉f&-A Ÿx␊
|
52 B | |
| 005701 | generated/0866 Generated |
&𪗆# ≠
|
41 B | |
| 005702 | generated/0867 Generated |
#g&é€&models
|
28 B | |
| 005703 | generated/0868 Generated |
=␊x
|
41 B | |
| 005704 | generated/0869 Generated |
□&lscr⊽日�Zé<€éℰ9Z
|
65 B | |
| 005705 | generated/0870 Generated |
>� ⅚7&␍мA #
|
33 B | |
| 005706 | generated/0871 Generated |
⟨U+FFFF⟩ &leftleftarrows∌⟨U+FFFF⟩"␀-ၪg-'<␉&c&Doub
|
60 B | |
| 005708 | generated/0873 Generated |
9␊g日é"␀&
|
54 B | |
| 005710 | generated/0875 Generated |
␊🎉␍⟨U+10FFFF⟩⥗;␀&NotTildeFullE#日gf&mscr
|
80 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