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 |
|---|---|---|---|---|
| 000400 | html5lib/numericEntities/0329 html5lib-tests |
|
9 B | |
| 000401 | html5lib/numericEntities/0330 html5lib-tests |
|
9 B | |
| 000402 | html5lib/numericEntities/0331 html5lib-tests |
|
9 B | |
| 000403 | html5lib/numericEntities/0332 html5lib-tests |
|
9 B | |
| 000404 | html5lib/numericEntities/0333 html5lib-tests |
|
9 B | |
| 000405 | html5lib/numericEntities/0334 html5lib-tests |
|
10 B | |
| 000406 | html5lib/numericEntities/0335 html5lib-tests |
|
10 B | |
| 000407 | html5lib/namedEntities/0000 html5lib-tests |
Æ
|
6 B | |
| 000408 | html5lib/namedEntities/0001 html5lib-tests |
Æ
|
7 B | |
| 000409 | html5lib/namedEntities/0002 html5lib-tests |
&
|
4 B | |
| 000410 | html5lib/namedEntities/0003 html5lib-tests |
&
|
5 B | |
| 000411 | html5lib/namedEntities/0004 html5lib-tests |
Á
|
7 B | |
| 000412 | html5lib/namedEntities/0005 html5lib-tests |
Á
|
8 B | |
| 000413 | html5lib/namedEntities/0006 html5lib-tests |
&Abreve
|
7 B | |
| 000414 | html5lib/namedEntities/0007 html5lib-tests |
Ă
|
8 B | |
| 000415 | html5lib/namedEntities/0008 html5lib-tests |
Â
|
6 B | |
| 000416 | html5lib/namedEntities/0009 html5lib-tests |
Â
|
7 B | |
| 000417 | html5lib/namedEntities/0010 html5lib-tests |
&Acy
|
4 B | |
| 000418 | html5lib/namedEntities/0011 html5lib-tests |
А
|
5 B | |
| 000419 | html5lib/namedEntities/0012 html5lib-tests |
&Afr
|
4 B | |
| 000420 | html5lib/namedEntities/0013 html5lib-tests |
𝔄
|
5 B | |
| 000421 | html5lib/namedEntities/0014 html5lib-tests |
À
|
7 B | |
| 000422 | html5lib/namedEntities/0015 html5lib-tests |
À
|
8 B | |
| 000423 | html5lib/namedEntities/0016 html5lib-tests |
&Alpha
|
6 B | |
| 000424 | html5lib/namedEntities/0017 html5lib-tests |
Α
|
7 B | |
| 000425 | html5lib/namedEntities/0018 html5lib-tests |
&Amacr
|
6 B | |
| 000426 | html5lib/namedEntities/0019 html5lib-tests |
Ā
|
7 B | |
| 000427 | html5lib/namedEntities/0020 html5lib-tests |
&And
|
4 B | |
| 000428 | html5lib/namedEntities/0021 html5lib-tests |
⩓
|
5 B | |
| 000429 | html5lib/namedEntities/0022 html5lib-tests |
&Aogon
|
6 B | |
| 000430 | html5lib/namedEntities/0023 html5lib-tests |
Ą
|
7 B | |
| 000431 | html5lib/namedEntities/0024 html5lib-tests |
&Aopf
|
5 B | |
| 000432 | html5lib/namedEntities/0025 html5lib-tests |
𝔸
|
6 B | |
| 000433 | html5lib/namedEntities/0026 html5lib-tests |
&ApplyFunction
|
14 B | |
| 000434 | html5lib/namedEntities/0027 html5lib-tests |
⟨U+2061⟩
|
15 B | |
| 000435 | html5lib/namedEntities/0028 html5lib-tests |
Å
|
6 B | |
| 000436 | html5lib/namedEntities/0029 html5lib-tests |
Å
|
7 B | |
| 000437 | html5lib/namedEntities/0030 html5lib-tests |
&Ascr
|
5 B | |
| 000438 | html5lib/namedEntities/0031 html5lib-tests |
𝒜
|
6 B | |
| 000439 | html5lib/namedEntities/0032 html5lib-tests |
&Assign
|
7 B | |
| 000440 | html5lib/namedEntities/0033 html5lib-tests |
≔
|
8 B | |
| 000441 | html5lib/namedEntities/0034 html5lib-tests |
Ã
|
7 B | |
| 000442 | html5lib/namedEntities/0035 html5lib-tests |
Ã
|
8 B | |
| 000443 | html5lib/namedEntities/0036 html5lib-tests |
Ä
|
5 B | |
| 000444 | html5lib/namedEntities/0037 html5lib-tests |
Ä
|
6 B | |
| 000445 | html5lib/namedEntities/0038 html5lib-tests |
&Backslash
|
10 B | |
| 000446 | html5lib/namedEntities/0039 html5lib-tests |
∖
|
11 B | |
| 000447 | html5lib/namedEntities/0040 html5lib-tests |
&Barv
|
5 B | |
| 000448 | html5lib/namedEntities/0041 html5lib-tests |
⫧
|
6 B | |
| 000449 | html5lib/namedEntities/0042 html5lib-tests |
&Barwed
|
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