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 |
|---|---|---|---|---|
| 006009 | generated/1174 Generated |
&tri&cro␊x⌝;
|
22 B | |
| 006010 | generated/1175 Generated |
ϴ␍=
|
12 B | |
| 006011 | generated/1176 Generated |
␊x&loz
|
18 B | |
| 006013 | generated/1178 Generated |
▪&bo� f€F
|
58 B | |
| 006014 | generated/1179 Generated |
&Not>9␉<'␍� -⇋⟨U+10FFFF⟩
|
74 B | |
| 006015 | generated/1180 Generated |
<géf-g&trZ❳7␀⇅&helx
|
50 B | |
| 006016 | generated/1181 Generated |
⟨U+10FFFF⟩x
|
10 B | |
| 006017 | generated/1182 Generated |
&i&an<9�␀日&x;&dha⦑fg<Z
|
56 B | |
| 006018 | generated/1183 Generated |
␀Fg0¡�=½�'�g&ra
|
61 B | |
| 006019 | generated/1184 Generated |
g€€<é�日x
|
35 B | |
| 006020 | generated/1185 Generated |
�"
|
10 B | |
| 006021 | generated/1186 Generated |
a9�&lotimeF␉
|
21 B | |
| 006022 | generated/1187 Generated |
>Ÿx日&Psi<␊&Z&lmidot&leftarrowt7ax
|
48 B | |
| 006023 | generated/1188 Generated |
>'xa␍&
|
15 B | |
| 006025 | generated/1190 Generated |
… ␍x␊␉a;�日-#⥗&o&cupcu⪧Z
|
68 B | |
| 006026 | generated/1191 Generated |
𧗟g'70�x
|
33 B | |
| 006027 | generated/1192 Generated |
"<&NotPrecedesEq🎉fg≶≜&l␍x␍#-�g
|
70 B | |
| 006028 | generated/1193 Generated |
"Zʊ␀=g日
|
22 B | |
| 006029 | generated/1194 Generated |
gff&g␀Ÿ⋄&gl
|
32 B | |
| 006030 | generated/1195 Generated |
�x
|
13 B | |
| 006031 | generated/1196 Generated |
€x␀␀0�␍⤤&&cue
|
33 B | |
| 006032 | generated/1197 Generated |
∑gF⟨U+10FFFF⟩x9;<�
|
48 B | |
| 006033 | generated/1198 Generated |
;␉f␊&prsZ&thk&lsc€÷g&lsim
|
42 B | |
| 006034 | generated/1199 Generated |
g=␉;>&n√日=>日9
|
40 B | |
| 006035 | generated/1200 Generated |
…
|
6 B | |
| 006036 | generated/1201 Generated |
�ga7;‐&cedia<;
|
37 B | |
| 006037 | generated/1202 Generated |
F🎉&o&xfr␀� ഌ�
|
63 B | |
| 006038 | generated/1203 Generated |
⟨U+00A0⟩x&uwanZ7日éЊ␀␊é𝕦
|
53 B | |
| 006039 | generated/1204 Generated |
;"љ� Zf<&NoBrea� &capcup
|
52 B | |
| 006043 | generated/1208 Generated |
&늃gg&righta�𞋂<&xg🎉
|
71 B | |
| 006045 | generated/1210 Generated |
fŵ␀🎉␀⧏ 🎉
|
65 B | |
| 006046 | generated/1211 Generated |
日0⟨U+10FFFF⟩∋-✠
|
24 B | |
| 006048 | generated/1213 Generated |
&F=
|
7 B | |
| 006049 | generated/1214 Generated |
쨭gF&elsd&&blk&preceq&leg&Bac&oslas&U;Fg&YUc
|
70 B | |
| 006050 | generated/1215 Generated |
🎉↽␍&sh#&bsol>
|
40 B | |
| 006051 | generated/1216 Generated |
Ÿx;
|
7 B | |
| 006052 | generated/1217 Generated |
7&box␊␍¨&Racu-áa €F
|
59 B | |
| 006053 | generated/1218 Generated |
誙⟨U+10FFFF⟩↷&NotHumpDownH�⥘␍
|
95 B | |
| 006054 | generated/1219 Generated |
À🎉≬g⋭&Zca7ß& "
|
65 B | |
| 006056 | generated/1221 Generated |
≬9'⟨U+FFFF⟩xg&D&<␀�€
|
60 B | |
| 006057 | generated/1222 Generated |
0🎉‖⋐a=g
|
49 B | |
| 006058 | generated/1223 Generated |
Ÿ=␍x7&oro&LeftUpVectΘ␊#&DownRightVect␉F&bo
|
53 B | |
| 006059 | generated/1224 Generated |
&v∄9&nF>&g&ng
|
39 B | |
| 006060 | generated/1225 Generated |
& g␉␉… 9é"🎉␉®&c
|
45 B | |
| 006061 | generated/1226 Generated |
;Zg>日x
|
26 B | |
| 006062 | generated/1227 Generated |
x日#<
|
14 B | |
| 006063 | generated/1228 Generated |
&é9-&h&⟨U+10FFFF⟩x
|
30 B | |
| 006064 | generated/1229 Generated |
|f'>
|
27 B | |
| 006065 | generated/1230 Generated |
;🎉€◯a<c 日␍
|
29 B | |
| 006066 | generated/1231 Generated |
9⟨U+10FFFF⟩ &⨭⧅;€Z
|
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