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 |
|---|---|---|---|---|
| 003904 | html5lib/namedEntities/3497 html5lib-tests |
&ruluhar
|
8 B | |
| 003905 | html5lib/namedEntities/3498 html5lib-tests |
⥨
|
9 B | |
| 003906 | html5lib/namedEntities/3499 html5lib-tests |
&rx
|
3 B | |
| 003907 | html5lib/namedEntities/3500 html5lib-tests |
℞
|
4 B | |
| 003908 | html5lib/namedEntities/3501 html5lib-tests |
&sacute
|
7 B | |
| 003909 | html5lib/namedEntities/3502 html5lib-tests |
ś
|
8 B | |
| 003910 | html5lib/namedEntities/3503 html5lib-tests |
&sbquo
|
6 B | |
| 003911 | html5lib/namedEntities/3504 html5lib-tests |
‚
|
7 B | |
| 003912 | html5lib/namedEntities/3505 html5lib-tests |
&sc
|
3 B | |
| 003913 | html5lib/namedEntities/3506 html5lib-tests |
≻
|
4 B | |
| 003914 | html5lib/namedEntities/3507 html5lib-tests |
&scE
|
4 B | |
| 003915 | html5lib/namedEntities/3508 html5lib-tests |
⪴
|
5 B | |
| 003916 | html5lib/namedEntities/3509 html5lib-tests |
&scap
|
5 B | |
| 003917 | html5lib/namedEntities/3510 html5lib-tests |
⪸
|
6 B | |
| 003918 | html5lib/namedEntities/3511 html5lib-tests |
&scaron
|
7 B | |
| 003919 | html5lib/namedEntities/3512 html5lib-tests |
š
|
8 B | |
| 003920 | html5lib/namedEntities/3513 html5lib-tests |
&sccue
|
6 B | |
| 003921 | html5lib/namedEntities/3514 html5lib-tests |
≽
|
7 B | |
| 003922 | html5lib/namedEntities/3515 html5lib-tests |
&sce
|
4 B | |
| 003923 | html5lib/namedEntities/3516 html5lib-tests |
⪰
|
5 B | |
| 003924 | html5lib/namedEntities/3517 html5lib-tests |
&scedil
|
7 B | |
| 003925 | html5lib/namedEntities/3518 html5lib-tests |
ş
|
8 B | |
| 003926 | html5lib/namedEntities/3519 html5lib-tests |
&scirc
|
6 B | |
| 003927 | html5lib/namedEntities/3520 html5lib-tests |
ŝ
|
7 B | |
| 003928 | html5lib/namedEntities/3521 html5lib-tests |
&scnE
|
5 B | |
| 003929 | html5lib/namedEntities/3522 html5lib-tests |
⪶
|
6 B | |
| 003930 | html5lib/namedEntities/3523 html5lib-tests |
&scnap
|
6 B | |
| 003931 | html5lib/namedEntities/3524 html5lib-tests |
⪺
|
7 B | |
| 003932 | html5lib/namedEntities/3525 html5lib-tests |
&scnsim
|
7 B | |
| 003933 | html5lib/namedEntities/3526 html5lib-tests |
⋩
|
8 B | |
| 003934 | html5lib/namedEntities/3527 html5lib-tests |
&scpolint
|
9 B | |
| 003935 | html5lib/namedEntities/3528 html5lib-tests |
⨓
|
10 B | |
| 003936 | html5lib/namedEntities/3529 html5lib-tests |
&scsim
|
6 B | |
| 003937 | html5lib/namedEntities/3530 html5lib-tests |
≿
|
7 B | |
| 003938 | html5lib/namedEntities/3531 html5lib-tests |
&scy
|
4 B | |
| 003939 | html5lib/namedEntities/3532 html5lib-tests |
с
|
5 B | |
| 003940 | html5lib/namedEntities/3533 html5lib-tests |
&sdot
|
5 B | |
| 003941 | html5lib/namedEntities/3534 html5lib-tests |
⋅
|
6 B | |
| 003942 | html5lib/namedEntities/3535 html5lib-tests |
&sdotb
|
6 B | |
| 003943 | html5lib/namedEntities/3536 html5lib-tests |
⊡
|
7 B | |
| 003944 | html5lib/namedEntities/3537 html5lib-tests |
&sdote
|
6 B | |
| 003945 | html5lib/namedEntities/3538 html5lib-tests |
⩦
|
7 B | |
| 003946 | html5lib/namedEntities/3539 html5lib-tests |
&seArr
|
6 B | |
| 003947 | html5lib/namedEntities/3540 html5lib-tests |
⇘
|
7 B | |
| 003948 | html5lib/namedEntities/3541 html5lib-tests |
&searhk
|
7 B | |
| 003949 | html5lib/namedEntities/3542 html5lib-tests |
⤥
|
8 B | |
| 003950 | html5lib/namedEntities/3543 html5lib-tests |
&searr
|
6 B | |
| 003951 | html5lib/namedEntities/3544 html5lib-tests |
↘
|
7 B | |
| 003952 | html5lib/namedEntities/3545 html5lib-tests |
&searrow
|
8 B | |
| 003953 | html5lib/namedEntities/3546 html5lib-tests |
↘
|
9 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