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 |
|---|---|---|---|---|
| 002604 | html5lib/namedEntities/2197 html5lib-tests |
&homtht
|
7 B | |
| 002605 | html5lib/namedEntities/2198 html5lib-tests |
∻
|
8 B | |
| 002606 | html5lib/namedEntities/2199 html5lib-tests |
&hookleftarrow
|
14 B | |
| 002607 | html5lib/namedEntities/2200 html5lib-tests |
↩
|
15 B | |
| 002608 | html5lib/namedEntities/2201 html5lib-tests |
&hookrightarrow
|
15 B | |
| 002609 | html5lib/namedEntities/2202 html5lib-tests |
↪
|
16 B | |
| 002610 | html5lib/namedEntities/2203 html5lib-tests |
&hopf
|
5 B | |
| 002611 | html5lib/namedEntities/2204 html5lib-tests |
𝕙
|
6 B | |
| 002612 | html5lib/namedEntities/2205 html5lib-tests |
&horbar
|
7 B | |
| 002613 | html5lib/namedEntities/2206 html5lib-tests |
―
|
8 B | |
| 002614 | html5lib/namedEntities/2207 html5lib-tests |
&hscr
|
5 B | |
| 002615 | html5lib/namedEntities/2208 html5lib-tests |
𝒽
|
6 B | |
| 002616 | html5lib/namedEntities/2209 html5lib-tests |
&hslash
|
7 B | |
| 002617 | html5lib/namedEntities/2210 html5lib-tests |
ℏ
|
8 B | |
| 002618 | html5lib/namedEntities/2211 html5lib-tests |
&hstrok
|
7 B | |
| 002619 | html5lib/namedEntities/2212 html5lib-tests |
ħ
|
8 B | |
| 002620 | html5lib/namedEntities/2213 html5lib-tests |
&hybull
|
7 B | |
| 002621 | html5lib/namedEntities/2214 html5lib-tests |
⁃
|
8 B | |
| 002622 | html5lib/namedEntities/2215 html5lib-tests |
&hyphen
|
7 B | |
| 002623 | html5lib/namedEntities/2216 html5lib-tests |
‐
|
8 B | |
| 002624 | html5lib/namedEntities/2217 html5lib-tests |
í
|
7 B | |
| 002625 | html5lib/namedEntities/2218 html5lib-tests |
í
|
8 B | |
| 002626 | html5lib/namedEntities/2219 html5lib-tests |
&ic
|
3 B | |
| 002627 | html5lib/namedEntities/2220 html5lib-tests |
⟨U+2063⟩
|
4 B | |
| 002628 | html5lib/namedEntities/2221 html5lib-tests |
î
|
6 B | |
| 002629 | html5lib/namedEntities/2222 html5lib-tests |
î
|
7 B | |
| 002630 | html5lib/namedEntities/2223 html5lib-tests |
&icy
|
4 B | |
| 002631 | html5lib/namedEntities/2224 html5lib-tests |
и
|
5 B | |
| 002632 | html5lib/namedEntities/2225 html5lib-tests |
&iecy
|
5 B | |
| 002633 | html5lib/namedEntities/2226 html5lib-tests |
е
|
6 B | |
| 002634 | html5lib/namedEntities/2227 html5lib-tests |
¡
|
6 B | |
| 002635 | html5lib/namedEntities/2228 html5lib-tests |
¡
|
7 B | |
| 002636 | html5lib/namedEntities/2229 html5lib-tests |
&iff
|
4 B | |
| 002637 | html5lib/namedEntities/2230 html5lib-tests |
⇔
|
5 B | |
| 002638 | html5lib/namedEntities/2231 html5lib-tests |
&ifr
|
4 B | |
| 002639 | html5lib/namedEntities/2232 html5lib-tests |
𝔦
|
5 B | |
| 002640 | html5lib/namedEntities/2233 html5lib-tests |
ì
|
7 B | |
| 002641 | html5lib/namedEntities/2234 html5lib-tests |
ì
|
8 B | |
| 002642 | html5lib/namedEntities/2235 html5lib-tests |
&ii
|
3 B | |
| 002643 | html5lib/namedEntities/2236 html5lib-tests |
ⅈ
|
4 B | |
| 002644 | html5lib/namedEntities/2237 html5lib-tests |
&iiiint
|
7 B | |
| 002645 | html5lib/namedEntities/2238 html5lib-tests |
⨌
|
8 B | |
| 002646 | html5lib/namedEntities/2239 html5lib-tests |
&iiint
|
6 B | |
| 002647 | html5lib/namedEntities/2240 html5lib-tests |
∭
|
7 B | |
| 002648 | html5lib/namedEntities/2241 html5lib-tests |
&iinfin
|
7 B | |
| 002649 | html5lib/namedEntities/2242 html5lib-tests |
⧜
|
8 B | |
| 002650 | html5lib/namedEntities/2243 html5lib-tests |
&iiota
|
6 B | |
| 002651 | html5lib/namedEntities/2244 html5lib-tests |
℩
|
7 B | |
| 002652 | html5lib/namedEntities/2245 html5lib-tests |
&ijlig
|
6 B | |
| 002653 | html5lib/namedEntities/2246 html5lib-tests |
ij
|
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