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
5,931 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 001904 | html5lib/namedEntities/1497 html5lib-tests |
┘
|
7 B | |
| 001905 | html5lib/namedEntities/1498 html5lib-tests |
&boxur
|
6 B | |
| 001906 | html5lib/namedEntities/1499 html5lib-tests |
└
|
7 B | |
| 001907 | html5lib/namedEntities/1500 html5lib-tests |
&boxv
|
5 B | |
| 001908 | html5lib/namedEntities/1501 html5lib-tests |
│
|
6 B | |
| 001909 | html5lib/namedEntities/1502 html5lib-tests |
&boxvH
|
6 B | |
| 001910 | html5lib/namedEntities/1503 html5lib-tests |
╪
|
7 B | |
| 001911 | html5lib/namedEntities/1504 html5lib-tests |
&boxvL
|
6 B | |
| 001912 | html5lib/namedEntities/1505 html5lib-tests |
╡
|
7 B | |
| 001913 | html5lib/namedEntities/1506 html5lib-tests |
&boxvR
|
6 B | |
| 001914 | html5lib/namedEntities/1507 html5lib-tests |
╞
|
7 B | |
| 001915 | html5lib/namedEntities/1508 html5lib-tests |
&boxvh
|
6 B | |
| 001916 | html5lib/namedEntities/1509 html5lib-tests |
┼
|
7 B | |
| 001917 | html5lib/namedEntities/1510 html5lib-tests |
&boxvl
|
6 B | |
| 001918 | html5lib/namedEntities/1511 html5lib-tests |
┤
|
7 B | |
| 001919 | html5lib/namedEntities/1512 html5lib-tests |
&boxvr
|
6 B | |
| 001920 | html5lib/namedEntities/1513 html5lib-tests |
├
|
7 B | |
| 001921 | html5lib/namedEntities/1514 html5lib-tests |
&bprime
|
7 B | |
| 001922 | html5lib/namedEntities/1515 html5lib-tests |
‵
|
8 B | |
| 001923 | html5lib/namedEntities/1516 html5lib-tests |
&breve
|
6 B | |
| 001924 | html5lib/namedEntities/1517 html5lib-tests |
˘
|
7 B | |
| 001925 | html5lib/namedEntities/1518 html5lib-tests |
¦
|
7 B | |
| 001926 | html5lib/namedEntities/1519 html5lib-tests |
¦
|
8 B | |
| 001927 | html5lib/namedEntities/1520 html5lib-tests |
&bscr
|
5 B | |
| 001928 | html5lib/namedEntities/1521 html5lib-tests |
𝒷
|
6 B | |
| 001929 | html5lib/namedEntities/1522 html5lib-tests |
&bsemi
|
6 B | |
| 001930 | html5lib/namedEntities/1523 html5lib-tests |
⁏
|
7 B | |
| 001931 | html5lib/namedEntities/1524 html5lib-tests |
&bsim
|
5 B | |
| 001932 | html5lib/namedEntities/1525 html5lib-tests |
∽
|
6 B | |
| 001933 | html5lib/namedEntities/1526 html5lib-tests |
&bsime
|
6 B | |
| 001934 | html5lib/namedEntities/1527 html5lib-tests |
⋍
|
7 B | |
| 001935 | html5lib/namedEntities/1528 html5lib-tests |
&bsol
|
5 B | |
| 001936 | html5lib/namedEntities/1529 html5lib-tests |
\
|
6 B | |
| 001937 | html5lib/namedEntities/1530 html5lib-tests |
&bsolb
|
6 B | |
| 001938 | html5lib/namedEntities/1531 html5lib-tests |
⧅
|
7 B | |
| 001939 | html5lib/namedEntities/1532 html5lib-tests |
&bsolhsub
|
9 B | |
| 001940 | html5lib/namedEntities/1533 html5lib-tests |
⟈
|
10 B | |
| 001941 | html5lib/namedEntities/1534 html5lib-tests |
&bull
|
5 B | |
| 001942 | html5lib/namedEntities/1535 html5lib-tests |
•
|
6 B | |
| 001943 | html5lib/namedEntities/1536 html5lib-tests |
&bullet
|
7 B | |
| 001944 | html5lib/namedEntities/1537 html5lib-tests |
•
|
8 B | |
| 001945 | html5lib/namedEntities/1538 html5lib-tests |
&bump
|
5 B | |
| 001946 | html5lib/namedEntities/1539 html5lib-tests |
≎
|
6 B | |
| 001947 | html5lib/namedEntities/1540 html5lib-tests |
&bumpE
|
6 B | |
| 001948 | html5lib/namedEntities/1541 html5lib-tests |
⪮
|
7 B | |
| 001949 | html5lib/namedEntities/1542 html5lib-tests |
&bumpe
|
6 B | |
| 001950 | html5lib/namedEntities/1543 html5lib-tests |
≏
|
7 B | |
| 001951 | html5lib/namedEntities/1544 html5lib-tests |
&bumpeq
|
7 B | |
| 001952 | html5lib/namedEntities/1545 html5lib-tests |
≏
|
8 B | |
| 001953 | html5lib/namedEntities/1546 html5lib-tests |
&cacute
|
7 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