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 |
|---|---|---|---|---|
| 004000 | html5lib/namedEntities/3593 html5lib-tests |
&siml
|
5 B | |
| 004001 | html5lib/namedEntities/3594 html5lib-tests |
⪝
|
6 B | |
| 004002 | html5lib/namedEntities/3595 html5lib-tests |
&simlE
|
6 B | |
| 004003 | html5lib/namedEntities/3596 html5lib-tests |
⪟
|
7 B | |
| 004004 | html5lib/namedEntities/3597 html5lib-tests |
&simne
|
6 B | |
| 004005 | html5lib/namedEntities/3598 html5lib-tests |
≆
|
7 B | |
| 004006 | html5lib/namedEntities/3599 html5lib-tests |
&simplus
|
8 B | |
| 004007 | html5lib/namedEntities/3600 html5lib-tests |
⨤
|
9 B | |
| 004008 | html5lib/namedEntities/3601 html5lib-tests |
&simrarr
|
8 B | |
| 004009 | html5lib/namedEntities/3602 html5lib-tests |
⥲
|
9 B | |
| 004010 | html5lib/namedEntities/3603 html5lib-tests |
&slarr
|
6 B | |
| 004011 | html5lib/namedEntities/3604 html5lib-tests |
←
|
7 B | |
| 004012 | html5lib/namedEntities/3605 html5lib-tests |
&smallsetminus
|
14 B | |
| 004013 | html5lib/namedEntities/3606 html5lib-tests |
∖
|
15 B | |
| 004014 | html5lib/namedEntities/3607 html5lib-tests |
&smashp
|
7 B | |
| 004015 | html5lib/namedEntities/3608 html5lib-tests |
⨳
|
8 B | |
| 004016 | html5lib/namedEntities/3609 html5lib-tests |
&smeparsl
|
9 B | |
| 004017 | html5lib/namedEntities/3610 html5lib-tests |
⧤
|
10 B | |
| 004018 | html5lib/namedEntities/3611 html5lib-tests |
&smid
|
5 B | |
| 004019 | html5lib/namedEntities/3612 html5lib-tests |
∣
|
6 B | |
| 004020 | html5lib/namedEntities/3613 html5lib-tests |
&smile
|
6 B | |
| 004021 | html5lib/namedEntities/3614 html5lib-tests |
⌣
|
7 B | |
| 004022 | html5lib/namedEntities/3615 html5lib-tests |
&smt
|
4 B | |
| 004023 | html5lib/namedEntities/3616 html5lib-tests |
⪪
|
5 B | |
| 004024 | html5lib/namedEntities/3617 html5lib-tests |
&smte
|
5 B | |
| 004025 | html5lib/namedEntities/3618 html5lib-tests |
⪬
|
6 B | |
| 004026 | html5lib/namedEntities/3619 html5lib-tests |
&smtes
|
6 B | |
| 004027 | html5lib/namedEntities/3620 html5lib-tests |
⪬︀
|
7 B | |
| 004028 | html5lib/namedEntities/3621 html5lib-tests |
&softcy
|
7 B | |
| 004029 | html5lib/namedEntities/3622 html5lib-tests |
ь
|
8 B | |
| 004030 | html5lib/namedEntities/3623 html5lib-tests |
&sol
|
4 B | |
| 004031 | html5lib/namedEntities/3624 html5lib-tests |
/
|
5 B | |
| 004032 | html5lib/namedEntities/3625 html5lib-tests |
&solb
|
5 B | |
| 004033 | html5lib/namedEntities/3626 html5lib-tests |
⧄
|
6 B | |
| 004034 | html5lib/namedEntities/3627 html5lib-tests |
&solbar
|
7 B | |
| 004035 | html5lib/namedEntities/3628 html5lib-tests |
⌿
|
8 B | |
| 004036 | html5lib/namedEntities/3629 html5lib-tests |
&sopf
|
5 B | |
| 004037 | html5lib/namedEntities/3630 html5lib-tests |
𝕤
|
6 B | |
| 004038 | html5lib/namedEntities/3631 html5lib-tests |
&spades
|
7 B | |
| 004039 | html5lib/namedEntities/3632 html5lib-tests |
♠
|
8 B | |
| 004040 | html5lib/namedEntities/3633 html5lib-tests |
&spadesuit
|
10 B | |
| 004041 | html5lib/namedEntities/3634 html5lib-tests |
♠
|
11 B | |
| 004042 | html5lib/namedEntities/3635 html5lib-tests |
&spar
|
5 B | |
| 004043 | html5lib/namedEntities/3636 html5lib-tests |
∥
|
6 B | |
| 004044 | html5lib/namedEntities/3637 html5lib-tests |
&sqcap
|
6 B | |
| 004045 | html5lib/namedEntities/3638 html5lib-tests |
⊓
|
7 B | |
| 004046 | html5lib/namedEntities/3639 html5lib-tests |
&sqcaps
|
7 B | |
| 004047 | html5lib/namedEntities/3640 html5lib-tests |
⊓︀
|
8 B | |
| 004048 | html5lib/namedEntities/3641 html5lib-tests |
&sqcup
|
6 B | |
| 004049 | html5lib/namedEntities/3642 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