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 |
|---|---|---|---|---|
| 002050 | html5lib/namedEntities/1643 html5lib-tests |
&compfn
|
7 B | |
| 002051 | html5lib/namedEntities/1644 html5lib-tests |
∘
|
8 B | |
| 002052 | html5lib/namedEntities/1645 html5lib-tests |
&complement
|
11 B | |
| 002053 | html5lib/namedEntities/1646 html5lib-tests |
∁
|
12 B | |
| 002054 | html5lib/namedEntities/1647 html5lib-tests |
&complexes
|
10 B | |
| 002055 | html5lib/namedEntities/1648 html5lib-tests |
ℂ
|
11 B | |
| 002056 | html5lib/namedEntities/1649 html5lib-tests |
&cong
|
5 B | |
| 002057 | html5lib/namedEntities/1650 html5lib-tests |
≅
|
6 B | |
| 002058 | html5lib/namedEntities/1651 html5lib-tests |
&congdot
|
8 B | |
| 002059 | html5lib/namedEntities/1652 html5lib-tests |
⩭
|
9 B | |
| 002060 | html5lib/namedEntities/1653 html5lib-tests |
&conint
|
7 B | |
| 002061 | html5lib/namedEntities/1654 html5lib-tests |
∮
|
8 B | |
| 002062 | html5lib/namedEntities/1655 html5lib-tests |
&copf
|
5 B | |
| 002063 | html5lib/namedEntities/1656 html5lib-tests |
𝕔
|
6 B | |
| 002064 | html5lib/namedEntities/1657 html5lib-tests |
&coprod
|
7 B | |
| 002065 | html5lib/namedEntities/1658 html5lib-tests |
∐
|
8 B | |
| 002066 | html5lib/namedEntities/1659 html5lib-tests |
©
|
5 B | |
| 002067 | html5lib/namedEntities/1660 html5lib-tests |
©
|
6 B | |
| 002068 | html5lib/namedEntities/1661 html5lib-tests |
℗
|
8 B | |
| 002069 | html5lib/namedEntities/1662 html5lib-tests |
&crarr
|
6 B | |
| 002070 | html5lib/namedEntities/1663 html5lib-tests |
↵
|
7 B | |
| 002071 | html5lib/namedEntities/1664 html5lib-tests |
&cross
|
6 B | |
| 002072 | html5lib/namedEntities/1665 html5lib-tests |
✗
|
7 B | |
| 002073 | html5lib/namedEntities/1666 html5lib-tests |
&cscr
|
5 B | |
| 002074 | html5lib/namedEntities/1667 html5lib-tests |
𝒸
|
6 B | |
| 002075 | html5lib/namedEntities/1668 html5lib-tests |
&csub
|
5 B | |
| 002076 | html5lib/namedEntities/1669 html5lib-tests |
⫏
|
6 B | |
| 002077 | html5lib/namedEntities/1670 html5lib-tests |
&csube
|
6 B | |
| 002078 | html5lib/namedEntities/1671 html5lib-tests |
⫑
|
7 B | |
| 002079 | html5lib/namedEntities/1672 html5lib-tests |
&csup
|
5 B | |
| 002080 | html5lib/namedEntities/1673 html5lib-tests |
⫐
|
6 B | |
| 002081 | html5lib/namedEntities/1674 html5lib-tests |
&csupe
|
6 B | |
| 002082 | html5lib/namedEntities/1675 html5lib-tests |
⫒
|
7 B | |
| 002083 | html5lib/namedEntities/1676 html5lib-tests |
&ctdot
|
6 B | |
| 002084 | html5lib/namedEntities/1677 html5lib-tests |
⋯
|
7 B | |
| 002085 | html5lib/namedEntities/1678 html5lib-tests |
&cudarrl
|
8 B | |
| 002086 | html5lib/namedEntities/1679 html5lib-tests |
⤸
|
9 B | |
| 002087 | html5lib/namedEntities/1680 html5lib-tests |
&cudarrr
|
8 B | |
| 002088 | html5lib/namedEntities/1681 html5lib-tests |
⤵
|
9 B | |
| 002089 | html5lib/namedEntities/1682 html5lib-tests |
&cuepr
|
6 B | |
| 002090 | html5lib/namedEntities/1683 html5lib-tests |
⋞
|
7 B | |
| 002091 | html5lib/namedEntities/1684 html5lib-tests |
&cuesc
|
6 B | |
| 002092 | html5lib/namedEntities/1685 html5lib-tests |
⋟
|
7 B | |
| 002093 | html5lib/namedEntities/1686 html5lib-tests |
&cularr
|
7 B | |
| 002094 | html5lib/namedEntities/1687 html5lib-tests |
↶
|
8 B | |
| 002095 | html5lib/namedEntities/1688 html5lib-tests |
&cularrp
|
8 B | |
| 002096 | html5lib/namedEntities/1689 html5lib-tests |
⤽
|
9 B | |
| 002097 | html5lib/namedEntities/1690 html5lib-tests |
&cup
|
4 B | |
| 002098 | html5lib/namedEntities/1691 html5lib-tests |
∪
|
5 B | |
| 002099 | html5lib/namedEntities/1692 html5lib-tests |
&cupbrcap
|
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