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 |
|---|---|---|---|---|
| 006300 | generated/1465 Generated |
�ggé&c� =日&Wopg<&bo
|
80 B | |
| 006301 | generated/1466 Generated |
&mdash𝔨-€a€␍g&yscrŸ
|
40 B | |
| 006302 | generated/1467 Generated |
&A␉x&uh#7f>&
|
27 B | |
| 006303 | generated/1468 Generated |
f7&xdtriF� ␀Ÿ "fx
|
38 B | |
| 006304 | generated/1469 Generated |
⦌⤞␊€
|
32 B | |
| 006305 | generated/1470 Generated |
⦔<€&tw≫&⟨U+10FFFF⟩xgg⩷
|
83 B | |
| 006306 | generated/1471 Generated |
aé␍ 7日x<
|
11 B | |
| 006307 | generated/1472 Generated |
xf7⟨U+10FFFF⟩ ⤍␀┘ 0∥⟨U+00A0⟩x
|
51 B | |
| 006308 | generated/1473 Generated |
␍00†╪&for∿=&Cfr€&boxbo&n
|
52 B | |
| 006309 | generated/1474 Generated |
-𝒪&NotTilde&LowerRight🎉
|
31 B | |
| 006310 | generated/1475 Generated |
𝒹'=&ale"
|
22 B | |
| 006311 | generated/1476 Generated |
ġŸ&GZ<⟬&na
|
33 B | |
| 006312 | generated/1477 Generated |
🎉F␉&Kappa€ ag&botto0&lsquo97=
|
61 B | |
| 006313 | generated/1478 Generated |
𮆇�ş-⟨U+00A0⟩xľ⦲⩯Ff>&cros
|
67 B | |
| 006314 | generated/1479 Generated |
F∭␊<�
|
26 B | |
| 006315 | generated/1480 Generated |
¡日␍⟨U+00A0⟩x€x�╦9'日¬Z⌆Ń
|
75 B | |
| 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 | |
| 006322 | generated/1487 Generated |
⋏x> ␊␍7&che07&percn
|
30 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 | |
| 006328 | generated/1493 Generated |
<7∣
|
15 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 | |
| 006332 | generated/1497 Generated |
≬␍
|
8 B | |
| 006333 | generated/1498 Generated |
€û
|
10 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 | |
| 006343 | generated/1508 Generated |
;&Z
|
3 B | |
| 006344 | generated/1509 Generated |
≊'
|
6 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 | |
| 006349 | generated/1514 Generated |
␉;<&ApplyFunct
|
14 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