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 |
|---|---|---|---|---|
| 006100 | generated/1265 Generated |
Z&ne
|
4 B | |
| 006101 | generated/1266 Generated |
x
|
1 B | |
| 006102 | generated/1267 Generated |
␍⪍␊ &x🎉⋌⋣#>&ReverseEle␊
|
77 B | |
| 006103 | generated/1268 Generated |
⌅"🎉€
|
18 B | |
| 006104 | generated/1269 Generated |
x␍9⪞㧏"
|
35 B | |
| 006105 | generated/1270 Generated |
9⇂�<&Ve&╧€0
|
44 B | |
| 006106 | generated/1271 Generated |
⪿⩓]&NotAx#␉&ic'�
|
52 B | |
| 006107 | generated/1272 Generated |
"␍a⟿ ⅅ∟<
|
44 B | |
| 006108 | generated/1273 Generated |
↝̸Z<Zя0Ÿx
|
24 B | |
| 006109 | generated/1274 Generated |
␊xF𫅰g␊F>␀&#⟨U+FFFF⟩x␉=-
|
42 B | |
| 006110 | generated/1275 Generated |
&npolinFé␀€&boxhD𦡰g ⊊︀&s␀F9
|
50 B | |
| 006111 | generated/1276 Generated |
⇇€&D9
|
23 B | |
| 006112 | generated/1277 Generated |
⟨U+FFFF⟩<␣€x
|
22 B | |
| 006113 | generated/1278 Generated |
g🎉-↠␊ ␉日⋹̸&m<
|
54 B | |
| 006114 | generated/1279 Generated |
⨄&nv日␍xg€x␊"=
|
35 B | |
| 006115 | generated/1280 Generated |
€␉f<
|
9 B | |
| 006116 | generated/1281 Generated |
⧣⟨U+00A0⟩x€&clubsui<�я
|
50 B | |
| 006117 | generated/1282 Generated |
x⤎⟨U+10FFFF⟩xg␉␉>⟨U+FFFF⟩
|
40 B | |
| 006118 | generated/1283 Generated |
xé&␀&n"␉xf&Productℒ 日>
|
46 B | |
| 006119 | generated/1284 Generated |
'g⟨U+FFFF⟩g&g🎉🎉-╜€&zop⊃�⌟
|
89 B | |
| 006120 | generated/1285 Generated |
|
8 B | |
| 006121 | generated/1286 Generated |
&v日ggéé-9&M␉⩪>
|
50 B | |
| 006122 | generated/1287 Generated |
'↱0&zopf
|
20 B | |
| 006123 | generated/1288 Generated |
&vee𝔞🎉␍'łf& 7'
|
32 B | |
| 006124 | generated/1289 Generated |
7&S#
|
4 B | |
| 006125 | generated/1290 Generated |
Ł0&E∬&ce&sca"é⅖&DoubleUpArro"⪶&0ℙ↡
|
68 B | |
| 006126 | generated/1291 Generated |
g␍x
|
14 B | |
| 006127 | generated/1292 Generated |
🎉&lessdota<éxf
|
18 B | |
| 006128 | generated/1293 Generated |
&popfa&bs0g'␊x
|
25 B | |
| 006129 | generated/1294 Generated |
Fé&Rcedi�⪚é≯€&exc;
|
48 B | |
| 006130 | generated/1295 Generated |
9�
|
11 B | |
| 006131 | generated/1296 Generated |
␊a'&heartsui=é7&drcor9;'␉&d9◂<
|
49 B | |
| 006132 | generated/1297 Generated |
&�g
|
19 B | |
| 006133 | generated/1298 Generated |
x日≆
|
12 B | |
| 006134 | generated/1299 Generated |
±'щ␉#<9∡日Ÿxfg&m;
|
64 B | |
| 006135 | generated/1300 Generated |
gf�&sq& >>- 日&succn
|
32 B | |
| 006136 | generated/1301 Generated |
'&g&g=Ÿ&pe‡⇃F&mac
|
51 B | |
| 006137 | generated/1302 Generated |
&bх-
|
9 B | |
| 006138 | generated/1303 Generated |
É� ν␍x=⧍␊Ē€␊>
|
50 B | |
| 006139 | generated/1304 Generated |
#<␍ �gZ&la⋵A>ы
|
58 B | |
| 006140 | generated/1305 Generated |
識␍⟨U+FFFF⟩𤼶g=
|
27 B | |
| 006141 | generated/1306 Generated |
∶␍>␀a€␀&
|
25 B | |
| 006142 | generated/1307 Generated |
;9Đ&cug<&shchcŸ ♣
|
43 B | |
| 006143 | generated/1308 Generated |
␍0🎉]"¬
|
25 B | |
| 006144 | generated/1309 Generated |
>日#␊x␊�=;␉&Ha𝔹日� 日
|
43 B | |
| 006145 | generated/1310 Generated |
Z9F;␊fx&rcedil⧞>日␍⫆⋘�x
|
46 B | |
| 006146 | generated/1311 Generated |
&Updownarro🎉⨀g7
|
52 B | |
| 006147 | generated/1312 Generated |
FΒ
|
15 B | |
| 006148 | generated/1313 Generated |
=␀↶&O⊛�␊ 0& 𝔭éa&Ze
|
64 B | |
| 006149 | generated/1314 Generated |
𝔇-␉#日Ÿ x日7⥖␉⊁&lF
|
61 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