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 |
|---|---|---|---|---|
| 001850 | html5lib/namedEntities/1443 html5lib-tests |
╧
|
7 B | |
| 001851 | html5lib/namedEntities/1444 html5lib-tests |
&boxUL
|
6 B | |
| 001852 | html5lib/namedEntities/1445 html5lib-tests |
╝
|
7 B | |
| 001853 | html5lib/namedEntities/1446 html5lib-tests |
&boxUR
|
6 B | |
| 001854 | html5lib/namedEntities/1447 html5lib-tests |
╚
|
7 B | |
| 001855 | html5lib/namedEntities/1448 html5lib-tests |
&boxUl
|
6 B | |
| 001856 | html5lib/namedEntities/1449 html5lib-tests |
╜
|
7 B | |
| 001857 | html5lib/namedEntities/1450 html5lib-tests |
&boxUr
|
6 B | |
| 001858 | html5lib/namedEntities/1451 html5lib-tests |
╙
|
7 B | |
| 001859 | html5lib/namedEntities/1452 html5lib-tests |
&boxV
|
5 B | |
| 001860 | html5lib/namedEntities/1453 html5lib-tests |
║
|
6 B | |
| 001861 | html5lib/namedEntities/1454 html5lib-tests |
&boxVH
|
6 B | |
| 001862 | html5lib/namedEntities/1455 html5lib-tests |
╬
|
7 B | |
| 001863 | html5lib/namedEntities/1456 html5lib-tests |
&boxVL
|
6 B | |
| 001864 | html5lib/namedEntities/1457 html5lib-tests |
╣
|
7 B | |
| 001865 | html5lib/namedEntities/1458 html5lib-tests |
&boxVR
|
6 B | |
| 001866 | html5lib/namedEntities/1459 html5lib-tests |
╠
|
7 B | |
| 001867 | html5lib/namedEntities/1460 html5lib-tests |
&boxVh
|
6 B | |
| 001868 | html5lib/namedEntities/1461 html5lib-tests |
╫
|
7 B | |
| 001869 | html5lib/namedEntities/1462 html5lib-tests |
&boxVl
|
6 B | |
| 001870 | html5lib/namedEntities/1463 html5lib-tests |
╢
|
7 B | |
| 001871 | html5lib/namedEntities/1464 html5lib-tests |
&boxVr
|
6 B | |
| 001872 | html5lib/namedEntities/1465 html5lib-tests |
╟
|
7 B | |
| 001873 | html5lib/namedEntities/1466 html5lib-tests |
&boxbox
|
7 B | |
| 001874 | html5lib/namedEntities/1467 html5lib-tests |
⧉
|
8 B | |
| 001875 | html5lib/namedEntities/1468 html5lib-tests |
&boxdL
|
6 B | |
| 001876 | html5lib/namedEntities/1469 html5lib-tests |
╕
|
7 B | |
| 001877 | html5lib/namedEntities/1470 html5lib-tests |
&boxdR
|
6 B | |
| 001878 | html5lib/namedEntities/1471 html5lib-tests |
╒
|
7 B | |
| 001879 | html5lib/namedEntities/1472 html5lib-tests |
&boxdl
|
6 B | |
| 001880 | html5lib/namedEntities/1473 html5lib-tests |
┐
|
7 B | |
| 001881 | html5lib/namedEntities/1474 html5lib-tests |
&boxdr
|
6 B | |
| 001882 | html5lib/namedEntities/1475 html5lib-tests |
┌
|
7 B | |
| 001883 | html5lib/namedEntities/1476 html5lib-tests |
&boxh
|
5 B | |
| 001884 | html5lib/namedEntities/1477 html5lib-tests |
─
|
6 B | |
| 001885 | html5lib/namedEntities/1478 html5lib-tests |
&boxhD
|
6 B | |
| 001886 | html5lib/namedEntities/1479 html5lib-tests |
╥
|
7 B | |
| 001887 | html5lib/namedEntities/1480 html5lib-tests |
&boxhU
|
6 B | |
| 001888 | html5lib/namedEntities/1481 html5lib-tests |
╨
|
7 B | |
| 001889 | html5lib/namedEntities/1482 html5lib-tests |
&boxhd
|
6 B | |
| 001890 | html5lib/namedEntities/1483 html5lib-tests |
┬
|
7 B | |
| 001891 | html5lib/namedEntities/1484 html5lib-tests |
&boxhu
|
6 B | |
| 001892 | html5lib/namedEntities/1485 html5lib-tests |
┴
|
7 B | |
| 001893 | html5lib/namedEntities/1486 html5lib-tests |
&boxminus
|
9 B | |
| 001894 | html5lib/namedEntities/1487 html5lib-tests |
⊟
|
10 B | |
| 001895 | html5lib/namedEntities/1488 html5lib-tests |
&boxplus
|
8 B | |
| 001896 | html5lib/namedEntities/1489 html5lib-tests |
⊞
|
9 B | |
| 001897 | html5lib/namedEntities/1490 html5lib-tests |
&boxtimes
|
9 B | |
| 001898 | html5lib/namedEntities/1491 html5lib-tests |
⊠
|
10 B | |
| 001899 | html5lib/namedEntities/1492 html5lib-tests |
&boxuL
|
6 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