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 |
|---|---|---|---|---|
| 004554 | html5lib/namedEntities/4147 html5lib-tests |
⟹
|
7 B | |
| 004555 | html5lib/namedEntities/4148 html5lib-tests |
&xrarr
|
6 B | |
| 004556 | html5lib/namedEntities/4149 html5lib-tests |
⟶
|
7 B | |
| 004557 | html5lib/namedEntities/4150 html5lib-tests |
&xscr
|
5 B | |
| 004558 | html5lib/namedEntities/4151 html5lib-tests |
𝓍
|
6 B | |
| 004559 | html5lib/namedEntities/4152 html5lib-tests |
&xsqcup
|
7 B | |
| 004560 | html5lib/namedEntities/4153 html5lib-tests |
⨆
|
8 B | |
| 004561 | html5lib/namedEntities/4154 html5lib-tests |
&xuplus
|
7 B | |
| 004562 | html5lib/namedEntities/4155 html5lib-tests |
⨄
|
8 B | |
| 004563 | html5lib/namedEntities/4156 html5lib-tests |
&xutri
|
6 B | |
| 004564 | html5lib/namedEntities/4157 html5lib-tests |
△
|
7 B | |
| 004565 | html5lib/namedEntities/4158 html5lib-tests |
&xvee
|
5 B | |
| 004566 | html5lib/namedEntities/4159 html5lib-tests |
⋁
|
6 B | |
| 004567 | html5lib/namedEntities/4160 html5lib-tests |
&xwedge
|
7 B | |
| 004568 | html5lib/namedEntities/4161 html5lib-tests |
⋀
|
8 B | |
| 004569 | html5lib/namedEntities/4162 html5lib-tests |
ý
|
7 B | |
| 004570 | html5lib/namedEntities/4163 html5lib-tests |
ý
|
8 B | |
| 004571 | html5lib/namedEntities/4164 html5lib-tests |
&yacy
|
5 B | |
| 004572 | html5lib/namedEntities/4165 html5lib-tests |
я
|
6 B | |
| 004573 | html5lib/namedEntities/4166 html5lib-tests |
&ycirc
|
6 B | |
| 004574 | html5lib/namedEntities/4167 html5lib-tests |
ŷ
|
7 B | |
| 004575 | html5lib/namedEntities/4168 html5lib-tests |
&ycy
|
4 B | |
| 004576 | html5lib/namedEntities/4169 html5lib-tests |
ы
|
5 B | |
| 004577 | html5lib/namedEntities/4170 html5lib-tests |
¥
|
4 B | |
| 004578 | html5lib/namedEntities/4171 html5lib-tests |
¥
|
5 B | |
| 004579 | html5lib/namedEntities/4172 html5lib-tests |
&yfr
|
4 B | |
| 004580 | html5lib/namedEntities/4173 html5lib-tests |
𝔶
|
5 B | |
| 004581 | html5lib/namedEntities/4174 html5lib-tests |
&yicy
|
5 B | |
| 004582 | html5lib/namedEntities/4175 html5lib-tests |
ї
|
6 B | |
| 004583 | html5lib/namedEntities/4176 html5lib-tests |
&yopf
|
5 B | |
| 004584 | html5lib/namedEntities/4177 html5lib-tests |
𝕪
|
6 B | |
| 004585 | html5lib/namedEntities/4178 html5lib-tests |
&yscr
|
5 B | |
| 004586 | html5lib/namedEntities/4179 html5lib-tests |
𝓎
|
6 B | |
| 004587 | html5lib/namedEntities/4180 html5lib-tests |
&yucy
|
5 B | |
| 004588 | html5lib/namedEntities/4181 html5lib-tests |
ю
|
6 B | |
| 004589 | html5lib/namedEntities/4182 html5lib-tests |
ÿ
|
5 B | |
| 004590 | html5lib/namedEntities/4183 html5lib-tests |
ÿ
|
6 B | |
| 004591 | html5lib/namedEntities/4184 html5lib-tests |
&zacute
|
7 B | |
| 004592 | html5lib/namedEntities/4185 html5lib-tests |
ź
|
8 B | |
| 004593 | html5lib/namedEntities/4186 html5lib-tests |
&zcaron
|
7 B | |
| 004594 | html5lib/namedEntities/4187 html5lib-tests |
ž
|
8 B | |
| 004595 | html5lib/namedEntities/4188 html5lib-tests |
&zcy
|
4 B | |
| 004596 | html5lib/namedEntities/4189 html5lib-tests |
з
|
5 B | |
| 004597 | html5lib/namedEntities/4190 html5lib-tests |
&zdot
|
5 B | |
| 004598 | html5lib/namedEntities/4191 html5lib-tests |
ż
|
6 B | |
| 004599 | html5lib/namedEntities/4192 html5lib-tests |
&zeetrf
|
7 B | |
| 004600 | html5lib/namedEntities/4193 html5lib-tests |
ℨ
|
8 B | |
| 004601 | html5lib/namedEntities/4194 html5lib-tests |
&zeta
|
5 B | |
| 004602 | html5lib/namedEntities/4195 html5lib-tests |
ζ
|
6 B | |
| 004603 | html5lib/namedEntities/4196 html5lib-tests |
&zfr
|
4 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