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 |
|---|---|---|---|---|
| 006350 | generated/1515 Generated |
ô␊
|
11 B | |
| 006351 | generated/1516 Generated |
g7 &SHc
|
26 B | |
| 006352 | generated/1517 Generated |
⋄譔&ulcorner≎̸∼⃒&And&suphs=…
|
62 B | |
| 006353 | generated/1518 Generated |
␉ť&⊉↘#<7 &lvn=
|
56 B | |
| 006354 | generated/1519 Generated |
0f& ␉g𱬍x
|
27 B | |
| 006355 | generated/1520 Generated |
&oparĞ&vBa␊
|
28 B | |
| 006356 | generated/1521 Generated |
&ce∲🎉␊ "=0-�a&olci;g=
|
63 B | |
| 006357 | generated/1522 Generated |
<>#-=⟨U+10FFFF⟩&Ta
|
18 B | |
| 006358 | generated/1523 Generated |
ZĠ€␀&imo♥&dsol␉g&ncAx⟨U+00A0⟩ÐZé&A
|
60 B | |
| 006359 | generated/1524 Generated |
Ÿ⟨U+00A0⟩"&Righ翑�&e
|
36 B | |
| 006360 | generated/1525 Generated |
&p&cscr&COxa'7⇒gZFgg
|
63 B | |
| 006361 | generated/1526 Generated |
-␍␍ é&T
|
8 B | |
| 006362 | generated/1527 Generated |
&NotGЦ␍ &VeryTh␉ ␍␊� &mu'�&y
|
53 B | |
| 006363 | generated/1528 Generated |
- gf⟩€␉日⊪
|
47 B | |
| 006364 | generated/1529 Generated |
␀#é🎉&nsupse±↙日🎉€ gf⟨U+10FFFF⟩x日
|
93 B | |
| 006365 | generated/1530 Generated |
A∥9&pl;&l ␀␉
|
21 B | |
| 006366 | generated/1531 Generated |
Z � #éZ⅙…xa␉ϑ€€x
|
74 B | |
| 006367 | generated/1532 Generated |
🎉<A &�&Cg↮␉
|
60 B | |
| 006368 | generated/1533 Generated |
€&=⟨U+00A0⟩ϵ&ThЯŢ &leftarroF
|
57 B | |
| 006369 | generated/1534 Generated |
日␊''"7;g>⟶>␉&lurZ
|
53 B | |
| 006370 | generated/1535 Generated |
␉9&therefor&🎉&nLt-0;⟨U+00A0⟩ Z
|
34 B | |
| 006371 | generated/1536 Generated |
€€x∤␊␉>
|
28 B | |
| 006372 | generated/1537 Generated |
>�x╕✓&Uacug⟨U+10FFFF⟩␉日'&¼⧏̸日␀
|
91 B | |
| 006373 | generated/1538 Generated |
0≐�x-&opa� �&g&&ga-<
|
53 B | |
| 006374 | generated/1539 Generated |
x🞡€&dag
|
26 B | |
| 006375 | generated/1540 Generated |
#x"Z0&HumpEq&down
|
34 B | |
| 006376 | generated/1541 Generated |
日Fg�a&mac0aé"␊x
|
46 B | |
| 006377 | generated/1542 Generated |
gé'0�
|
22 B | |
| 006378 | generated/1543 Generated |
Z€0A
|
19 B | |
| 006379 | generated/1544 Generated |
f0日 ∲é&raq
|
22 B | |
| 006380 | generated/1545 Generated |
&RF7<&midci7&sqsupse␊
|
25 B | |
| 006381 | generated/1546 Generated |
㢱g-
|
9 B | |
| 006382 | generated/1547 Generated |
Z&rgx�
|
17 B | |
| 006383 | generated/1548 Generated |
#;9é&box>f&␊
|
16 B | |
| 006384 | generated/1549 Generated |
&s␊🎉">reqles0
|
18 B | |
| 006385 | generated/1550 Generated |
␍ &rr& ;🗖g
|
42 B | |
| 006386 | generated/1551 Generated |
≁␍�g0Z'…␊⟨U+10FFFF⟩⟨U+FFFF⟩
|
60 B | |
| 006387 | generated/1552 Generated |
⟨U+00AD⟩&sce&a&epsiZ⩱�x
|
46 B | |
| 006388 | generated/1553 Generated |
fр␉
|
7 B | |
| 006389 | generated/1554 Generated |
Ÿ
|
6 B | |
| 006390 | generated/1555 Generated |
'#fg;€日€&yopf
|
45 B | |
| 006391 | generated/1556 Generated |
€aa�g
|
15 B | |
| 006392 | generated/1557 Generated |
Z&boxv␉␍⌌±🎉A Ġ&Les
|
46 B | |
| 006393 | generated/1558 Generated |
a&Abreve&B#x g
|
22 B | |
| 006394 | generated/1559 Generated |
<&NotPr&or𘫹
|
27 B | |
| 006395 | generated/1560 Generated |
🎉ýℌ⊐€f#-
|
51 B | |
| 006396 | generated/1561 Generated |
a日=⨹🎉& 0' ⩚'&frac1&supp
|
44 B | |
| 006397 | generated/1562 Generated |
x↓␊𡀡
|
22 B | |
| 006398 | generated/1563 Generated |
␀␍FF␍aZ∞&⟨U+FFFF⟩€'⊔︀Ÿxx
|
41 B | |
| 006399 | generated/1564 Generated |
€Z🎉𝒲g€f
|
35 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