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 |
|---|---|---|---|---|
| 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 | |
| 003954 | html5lib/namedEntities/3547 html5lib-tests |
§
|
5 B | |
| 003955 | html5lib/namedEntities/3548 html5lib-tests |
§
|
6 B | |
| 003956 | html5lib/namedEntities/3549 html5lib-tests |
&semi
|
5 B | |
| 003957 | html5lib/namedEntities/3550 html5lib-tests |
;
|
6 B | |
| 003958 | html5lib/namedEntities/3551 html5lib-tests |
&seswar
|
7 B | |
| 003959 | html5lib/namedEntities/3552 html5lib-tests |
⤩
|
8 B | |
| 003960 | html5lib/namedEntities/3553 html5lib-tests |
&setminus
|
9 B | |
| 003961 | html5lib/namedEntities/3554 html5lib-tests |
∖
|
10 B | |
| 003962 | html5lib/namedEntities/3555 html5lib-tests |
&setmn
|
6 B | |
| 003963 | html5lib/namedEntities/3556 html5lib-tests |
∖
|
7 B | |
| 003964 | html5lib/namedEntities/3557 html5lib-tests |
&sext
|
5 B | |
| 003965 | html5lib/namedEntities/3558 html5lib-tests |
✶
|
6 B | |
| 003966 | html5lib/namedEntities/3559 html5lib-tests |
&sfr
|
4 B | |
| 003967 | html5lib/namedEntities/3560 html5lib-tests |
𝔰
|
5 B | |
| 003968 | html5lib/namedEntities/3561 html5lib-tests |
&sfrown
|
7 B | |
| 003969 | html5lib/namedEntities/3562 html5lib-tests |
⌢
|
8 B | |
| 003970 | html5lib/namedEntities/3563 html5lib-tests |
&sharp
|
6 B | |
| 003971 | html5lib/namedEntities/3564 html5lib-tests |
♯
|
7 B | |
| 003972 | html5lib/namedEntities/3565 html5lib-tests |
&shchcy
|
7 B | |
| 003973 | html5lib/namedEntities/3566 html5lib-tests |
щ
|
8 B | |
| 003974 | html5lib/namedEntities/3567 html5lib-tests |
&shcy
|
5 B | |
| 003975 | html5lib/namedEntities/3568 html5lib-tests |
ш
|
6 B | |
| 003976 | html5lib/namedEntities/3569 html5lib-tests |
&shortmid
|
9 B | |
| 003977 | html5lib/namedEntities/3570 html5lib-tests |
∣
|
10 B | |
| 003978 | html5lib/namedEntities/3571 html5lib-tests |
&shortparallel
|
14 B | |
| 003979 | html5lib/namedEntities/3572 html5lib-tests |
∥
|
15 B | |
| 003980 | html5lib/namedEntities/3573 html5lib-tests |
⟨U+00AD⟩
|
4 B | |
| 003981 | html5lib/namedEntities/3574 html5lib-tests |
⟨U+00AD⟩
|
5 B | |
| 003982 | html5lib/namedEntities/3575 html5lib-tests |
&sigma
|
6 B | |
| 003983 | html5lib/namedEntities/3576 html5lib-tests |
σ
|
7 B | |
| 003984 | html5lib/namedEntities/3577 html5lib-tests |
&sigmaf
|
7 B | |
| 003985 | html5lib/namedEntities/3578 html5lib-tests |
ς
|
8 B | |
| 003986 | html5lib/namedEntities/3579 html5lib-tests |
&sigmav
|
7 B | |
| 003987 | html5lib/namedEntities/3580 html5lib-tests |
ς
|
8 B | |
| 003988 | html5lib/namedEntities/3581 html5lib-tests |
&sim
|
4 B | |
| 003989 | html5lib/namedEntities/3582 html5lib-tests |
∼
|
5 B | |
| 003990 | html5lib/namedEntities/3583 html5lib-tests |
&simdot
|
7 B | |
| 003991 | html5lib/namedEntities/3584 html5lib-tests |
⩪
|
8 B | |
| 003992 | html5lib/namedEntities/3585 html5lib-tests |
&sime
|
5 B | |
| 003993 | html5lib/namedEntities/3586 html5lib-tests |
≃
|
6 B | |
| 003994 | html5lib/namedEntities/3587 html5lib-tests |
&simeq
|
6 B | |
| 003995 | html5lib/namedEntities/3588 html5lib-tests |
≃
|
7 B | |
| 003996 | html5lib/namedEntities/3589 html5lib-tests |
&simg
|
5 B | |
| 003997 | html5lib/namedEntities/3590 html5lib-tests |
⪞
|
6 B | |
| 003998 | html5lib/namedEntities/3591 html5lib-tests |
&simgE
|
6 B | |
| 003999 | html5lib/namedEntities/3592 html5lib-tests |
⪠
|
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