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 |
|---|---|---|---|---|
| 006316 | generated/1481 Generated |
日#="⟨U+10FFFF⟩x␍
|
27 B | |
| 006317 | generated/1482 Generated |
…␀␊f⟨U+10FFFF⟩&…x>7#
|
46 B | |
| 006318 | generated/1483 Generated |
x⨼a=&Racut>�
|
44 B | |
| 006319 | generated/1484 Generated |
&ig⟨U+10FFFF⟩
|
20 B | |
| 006320 | generated/1485 Generated |
&nLeftrx>␊€⟨U+10FFFF⟩ �ؿ⟨U+10FFFF⟩
|
55 B | |
| 006321 | generated/1486 Generated |
ℒ€
|
24 B | |
| 006323 | generated/1488 Generated |
é&&thinsp…&x
|
21 B | |
| 006324 | generated/1489 Generated |
⇓
|
16 B | |
| 006325 | generated/1490 Generated |
␊␀<&bkarow🎉␊ >∵F␉ Fx
|
45 B | |
| 006326 | generated/1491 Generated |
🎉ļ&ne🎉9鈇↕€-
|
45 B | |
| 006327 | generated/1492 Generated |
⪯̸⥭f&Vertica&fp&O
|
41 B | |
| 006329 | generated/1494 Generated |
𝕖éF&ctdot0g>␉&blacktrianglerig&Darr&DoubleLef…
|
94 B | |
| 006330 | generated/1495 Generated |
x␀&no媇gé&x'
|
30 B | |
| 006331 | generated/1496 Generated |
-='🎉>␀&Therefor00⊩
|
36 B | |
| 006334 | generated/1499 Generated |
&Ic&modelù⊂⃒�g&�Z0g-&varr⟨U+00AD⟩
|
80 B | |
| 006335 | generated/1500 Generated |
�␍�x
|
24 B | |
| 006336 | generated/1501 Generated |
日␀≈�⋻#&Ÿ⌆𝔻
|
56 B | |
| 006337 | generated/1502 Generated |
…é
|
15 B | |
| 006338 | generated/1503 Generated |
…xgZ␊ ␍;-⪹7"€ 0&o𝓃Ÿx
|
63 B | |
| 006339 | generated/1504 Generated |
␍"&nRightarF
|
21 B | |
| 006340 | generated/1505 Generated |
éAx🎉⟫␊
|
18 B | |
| 006341 | generated/1506 Generated |
␉€& � &varp␊
|
35 B | |
| 006342 | generated/1507 Generated |
a⨺a>⟦␊␍
|
31 B | |
| 006345 | generated/1510 Generated |
⟨U+00A0⟩𦯲␍�g日⟨U+FFFF⟩ &dzigxf&rpar␍␉g&nltr&vareps
|
85 B | |
| 006346 | generated/1511 Generated |
F␉g==…xA=
|
24 B | |
| 006347 | generated/1512 Generated |
␀fi🎉'&upuparro⋵≑&succ&A
|
57 B | |
| 006348 | generated/1513 Generated |
'&sc0
|
14 B | |
| 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 | |
| 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 |
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