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
5,931 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 005700 | generated/0865 Generated |
&percnt␉f&-A Ÿx␊
|
52 B | |
| 005701 | generated/0866 Generated |
&𪗆# ≠
|
41 B | |
| 005702 | generated/0867 Generated |
#g&é€&models
|
28 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 | |
| 005707 | generated/0872 Generated |
>0 '¿0
|
13 B | |
| 005709 | generated/0874 Generated |
aZa日𝕁🎉␀
|
17 B | |
| 005710 | generated/0875 Generated |
␊🎉␍⟨U+10FFFF⟩⥗;␀&NotTildeFullE#日gf&mscr
|
80 B | |
| 005711 | generated/0876 Generated |
␊…℧>; a7g9
|
47 B | |
| 005712 | generated/0877 Generated |
ax&ominufé #&Psi&nsc🎉日�≳ é
|
55 B | |
| 005713 | generated/0878 Generated |
&pr日␍g&curre𝕚<␉日
|
68 B | |
| 005715 | generated/0880 Generated |
日éf␉€f🎉0🎉&h a
|
33 B | |
| 005716 | generated/0881 Generated |
␊x𥁹'␉⧅g⩝
|
56 B | |
| 005717 | generated/0882 Generated |
␍╫0
|
9 B | |
| 005718 | generated/0883 Generated |
&OverB0f日9a0&>&r&nc
|
29 B | |
| 005719 | generated/0884 Generated |
␀&Ysc&les&atildŕ-x日&
|
47 B | |
| 005720 | generated/0885 Generated |
-🎉&rZZA
|
14 B | |
| 005721 | generated/0886 Generated |
⋓"9=日&&⇖&NotSucceedsF日
|
36 B | |
| 005722 | generated/0887 Generated |
&hybu&gsim&é"&aac;␍"éA ⇽&g
|
46 B | |
| 005723 | generated/0888 Generated |
ZF⟨U+10FFFF⟩xé␍0&dot"0�g 0␍
|
46 B | |
| 005724 | generated/0889 Generated |
g<9␍∲éF=é␀0⋣&rarr#⟨U+10FFFF⟩F
|
91 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