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 |
|---|---|---|---|---|
| 002000 | html5lib/namedEntities/1593 html5lib-tests |
&checkmark
|
10 B | |
| 002001 | html5lib/namedEntities/1594 html5lib-tests |
✓
|
11 B | |
| 002002 | html5lib/namedEntities/1595 html5lib-tests |
&chi
|
4 B | |
| 002003 | html5lib/namedEntities/1596 html5lib-tests |
χ
|
5 B | |
| 002004 | html5lib/namedEntities/1597 html5lib-tests |
&cir
|
4 B | |
| 002005 | html5lib/namedEntities/1598 html5lib-tests |
○
|
5 B | |
| 002006 | html5lib/namedEntities/1599 html5lib-tests |
&cirE
|
5 B | |
| 002007 | html5lib/namedEntities/1600 html5lib-tests |
⧃
|
6 B | |
| 002008 | html5lib/namedEntities/1601 html5lib-tests |
&circ
|
5 B | |
| 002009 | html5lib/namedEntities/1602 html5lib-tests |
ˆ
|
6 B | |
| 002010 | html5lib/namedEntities/1603 html5lib-tests |
&circeq
|
7 B | |
| 002011 | html5lib/namedEntities/1604 html5lib-tests |
≗
|
8 B | |
| 002012 | html5lib/namedEntities/1605 html5lib-tests |
&circlearrowleft
|
16 B | |
| 002013 | html5lib/namedEntities/1606 html5lib-tests |
↺
|
17 B | |
| 002014 | html5lib/namedEntities/1607 html5lib-tests |
&circlearrowright
|
17 B | |
| 002015 | html5lib/namedEntities/1608 html5lib-tests |
↻
|
18 B | |
| 002016 | html5lib/namedEntities/1609 html5lib-tests |
&circledR
|
9 B | |
| 002017 | html5lib/namedEntities/1610 html5lib-tests |
®
|
10 B | |
| 002018 | html5lib/namedEntities/1611 html5lib-tests |
&circledS
|
9 B | |
| 002019 | html5lib/namedEntities/1612 html5lib-tests |
Ⓢ
|
10 B | |
| 002020 | html5lib/namedEntities/1613 html5lib-tests |
&circledast
|
11 B | |
| 002021 | html5lib/namedEntities/1614 html5lib-tests |
⊛
|
12 B | |
| 002022 | html5lib/namedEntities/1615 html5lib-tests |
&circledcirc
|
12 B | |
| 002023 | html5lib/namedEntities/1616 html5lib-tests |
⊚
|
13 B | |
| 002024 | html5lib/namedEntities/1617 html5lib-tests |
&circleddash
|
12 B | |
| 002025 | html5lib/namedEntities/1618 html5lib-tests |
⊝
|
13 B | |
| 002026 | html5lib/namedEntities/1619 html5lib-tests |
&cire
|
5 B | |
| 002027 | html5lib/namedEntities/1620 html5lib-tests |
≗
|
6 B | |
| 002028 | html5lib/namedEntities/1621 html5lib-tests |
&cirfnint
|
9 B | |
| 002029 | html5lib/namedEntities/1622 html5lib-tests |
⨐
|
10 B | |
| 002030 | html5lib/namedEntities/1623 html5lib-tests |
&cirmid
|
7 B | |
| 002031 | html5lib/namedEntities/1624 html5lib-tests |
⫯
|
8 B | |
| 002032 | html5lib/namedEntities/1625 html5lib-tests |
&cirscir
|
8 B | |
| 002033 | html5lib/namedEntities/1626 html5lib-tests |
⧂
|
9 B | |
| 002034 | html5lib/namedEntities/1627 html5lib-tests |
&clubs
|
6 B | |
| 002035 | html5lib/namedEntities/1628 html5lib-tests |
♣
|
7 B | |
| 002036 | html5lib/namedEntities/1629 html5lib-tests |
&clubsuit
|
9 B | |
| 002037 | html5lib/namedEntities/1630 html5lib-tests |
♣
|
10 B | |
| 002038 | html5lib/namedEntities/1631 html5lib-tests |
&colon
|
6 B | |
| 002039 | html5lib/namedEntities/1632 html5lib-tests |
:
|
7 B | |
| 002040 | html5lib/namedEntities/1633 html5lib-tests |
&colone
|
7 B | |
| 002041 | html5lib/namedEntities/1634 html5lib-tests |
≔
|
8 B | |
| 002042 | html5lib/namedEntities/1635 html5lib-tests |
&coloneq
|
8 B | |
| 002043 | html5lib/namedEntities/1636 html5lib-tests |
≔
|
9 B | |
| 002044 | html5lib/namedEntities/1637 html5lib-tests |
&comma
|
6 B | |
| 002045 | html5lib/namedEntities/1638 html5lib-tests |
,
|
7 B | |
| 002046 | html5lib/namedEntities/1639 html5lib-tests |
&commat
|
7 B | |
| 002047 | html5lib/namedEntities/1640 html5lib-tests |
@
|
8 B | |
| 002048 | html5lib/namedEntities/1641 html5lib-tests |
&comp
|
5 B | |
| 002049 | html5lib/namedEntities/1642 html5lib-tests |
∁
|
6 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