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 |
|---|---|---|---|---|
| 005886 | generated/1051 Generated |
&NotNestedGreaterGreatΣ␊aF&x∨<gβ-<<
|
62 B | |
| 005887 | generated/1052 Generated |
␍⟨U+FFFF⟩ 9日␍g
|
27 B | |
| 005888 | generated/1053 Generated |
#␍>␊x9␍g⩅␀⪿⎵␀>🎉
|
67 B | |
| 005889 | generated/1054 Generated |
�#�g&
|
28 B | |
| 005890 | generated/1055 Generated |
␍ g&l&�&&ntriangleri-
|
48 B | |
| 005891 | generated/1056 Generated |
">⟨U+FFFF⟩𛋰g&sub
|
30 B | |
| 005892 | generated/1057 Generated |
␀=*⌈⟨U+10FFFF⟩xxg
|
37 B | |
| 005893 | generated/1058 Generated |
"␉&a
|
7 B | |
| 005894 | generated/1059 Generated |
"&forkv"0&x07�&RightDow®
|
38 B | |
| 005896 | generated/1061 Generated |
F␊ � ␉ "ℐñ€Ūé
|
46 B | |
| 005897 | generated/1062 Generated |
"⟨U+10FFFF⟩&xrArr≥⃒;&subseteqq≯"
|
60 B | |
| 005898 | generated/1063 Generated |
"&N€##⟨U+00A0⟩x'�x⌝≿�g€
|
74 B | |
| 005899 | generated/1064 Generated |
&⥵9é�x
|
23 B | |
| 005900 | generated/1065 Generated |
𧷧g9<œ&ss⟨U+10FFFF⟩
|
31 B | |
| 005902 | generated/1067 Generated |
␍␊€ Z▹#
|
29 B | |
| 005904 | generated/1069 Generated |
&oper⪁␊␊<&og␀�g € >&Afr⇥
|
68 B | |
| 005905 | generated/1070 Generated |
↙🎉=␍x
|
26 B | |
| 005906 | generated/1071 Generated |
f␊xZŸ ;␀9;
|
17 B | |
| 005908 | generated/1073 Generated |
Zg�␍日
|
24 B | |
| 005909 | generated/1074 Generated |
#⟨U+FFFF⟩ &Rfr-9
|
15 B | |
| 005910 | generated/1075 Generated |
&ofci⇀‚g⏧é日&�g
|
62 B | |
| 005911 | generated/1076 Generated |
Μ&asŸ&empt0&&s&x#0éx>
|
30 B | |
| 005912 | generated/1077 Generated |
⟨U+FFFF⟩⛂.'
|
24 B | |
| 005913 | generated/1078 Generated |
7´🎉◃ 7'Zx
|
39 B | |
| 005914 | generated/1079 Generated |
&x𩈺🎉и� &ratio
|
35 B | |
| 005917 | generated/1082 Generated |
Ax…éf␊ >é&OpenCurlyQuo&𗹦g&e
|
56 B | |
| 005919 | generated/1084 Generated |
>🎉Î&f=㺉
|
33 B | |
| 005920 | generated/1085 Generated |
⇉0�υ␉A𝔈>¼
|
57 B | |
| 005921 | generated/1086 Generated |
𝒶x⋈&w&&rang'␍ 日␍ ␊␊ €
|
48 B | |
| 005922 | generated/1087 Generated |
F𠩄g&�x&dagge'7x;𡧚뫎x—
|
67 B | |
| 005924 | generated/1089 Generated |
'g≗&vef&raA &fparti
|
36 B | |
| 005925 | generated/1090 Generated |
⋔9;␊x
|
18 B | |
| 005928 | generated/1093 Generated |
∂�gŸf'␉ ;9⟨U+00A0⟩é␍
|
47 B | |
| 005929 | generated/1094 Generated |
␉&rbarr𤄯g⟨U+00A0⟩>␀␊
|
35 B | |
| 005930 | generated/1095 Generated |
-Z&®⤦␊aË
|
38 B | |
| 005934 | generated/1099 Generated |
Ş&jukc<F9Ыg=<⫋︀
|
40 B | |
| 005936 | generated/1101 Generated |
;fa'&Square∅␉␉ é&Og␉
|
35 B | |
| 005937 | generated/1102 Generated |
a⩾␊⩦f'gx␊f&Om&Mc
|
57 B | |
| 005938 | generated/1103 Generated |
日-"x ␉≏̸Ÿ&rf
|
48 B | |
| 005939 | generated/1104 Generated |
␉xZ&lg&doteF
|
14 B | |
| 005941 | generated/1106 Generated |
日Fg<=
|
25 B | |
| 005942 | generated/1107 Generated |
␊gg7<þ日7␀9"&
|
37 B | |
| 005943 | generated/1108 Generated |
-␊x€>␍x>0é𝒿a
|
26 B | |
| 005944 | generated/1109 Generated |
'�日Ĺ𝔒
|
44 B | |
| 005945 | generated/1110 Generated |
� Ó>qug�x&supdsu&duarr&cirmi7&rs↬ć-=
|
92 B | |
| 005946 | generated/1111 Generated |
x&Cros𘔿gx␊F"
|
28 B | |
| 005947 | generated/1112 Generated |
⊃Ÿ𝕨日␀g
|
34 B | |
| 005948 | generated/1113 Generated |
&c& &bs␊␍0>&TildeFull€
|
40 B | |
| 005949 | generated/1114 Generated |
&€&ndas=a>␍F
|
26 B | |
| 005951 | generated/1116 Generated |
𝕃🎉🎉⟸;⟨U+FFFF⟩␉
|
31 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