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 |
|---|---|---|---|---|
| 003600 | html5lib/namedEntities/3193 html5lib-tests |
&plusacir
|
9 B | |
| 003601 | html5lib/namedEntities/3194 html5lib-tests |
⨣
|
10 B | |
| 003602 | html5lib/namedEntities/3195 html5lib-tests |
&plusb
|
6 B | |
| 003603 | html5lib/namedEntities/3196 html5lib-tests |
⊞
|
7 B | |
| 003604 | html5lib/namedEntities/3197 html5lib-tests |
&pluscir
|
8 B | |
| 003605 | html5lib/namedEntities/3198 html5lib-tests |
⨢
|
9 B | |
| 003606 | html5lib/namedEntities/3199 html5lib-tests |
&plusdo
|
7 B | |
| 003607 | html5lib/namedEntities/3200 html5lib-tests |
∔
|
8 B | |
| 003608 | html5lib/namedEntities/3201 html5lib-tests |
&plusdu
|
7 B | |
| 003609 | html5lib/namedEntities/3202 html5lib-tests |
⨥
|
8 B | |
| 003610 | html5lib/namedEntities/3203 html5lib-tests |
&pluse
|
6 B | |
| 003611 | html5lib/namedEntities/3204 html5lib-tests |
⩲
|
7 B | |
| 003612 | html5lib/namedEntities/3205 html5lib-tests |
±
|
7 B | |
| 003613 | html5lib/namedEntities/3206 html5lib-tests |
±
|
8 B | |
| 003614 | html5lib/namedEntities/3207 html5lib-tests |
&plussim
|
8 B | |
| 003615 | html5lib/namedEntities/3208 html5lib-tests |
⨦
|
9 B | |
| 003616 | html5lib/namedEntities/3209 html5lib-tests |
&plustwo
|
8 B | |
| 003617 | html5lib/namedEntities/3210 html5lib-tests |
⨧
|
9 B | |
| 003618 | html5lib/namedEntities/3211 html5lib-tests |
&pm
|
3 B | |
| 003619 | html5lib/namedEntities/3212 html5lib-tests |
±
|
4 B | |
| 003620 | html5lib/namedEntities/3213 html5lib-tests |
&pointint
|
9 B | |
| 003621 | html5lib/namedEntities/3214 html5lib-tests |
⨕
|
10 B | |
| 003622 | html5lib/namedEntities/3215 html5lib-tests |
&popf
|
5 B | |
| 003623 | html5lib/namedEntities/3216 html5lib-tests |
𝕡
|
6 B | |
| 003624 | html5lib/namedEntities/3217 html5lib-tests |
£
|
6 B | |
| 003625 | html5lib/namedEntities/3218 html5lib-tests |
£
|
7 B | |
| 003626 | html5lib/namedEntities/3219 html5lib-tests |
&pr
|
3 B | |
| 003627 | html5lib/namedEntities/3220 html5lib-tests |
≺
|
4 B | |
| 003628 | html5lib/namedEntities/3221 html5lib-tests |
&prE
|
4 B | |
| 003629 | html5lib/namedEntities/3222 html5lib-tests |
⪳
|
5 B | |
| 003630 | html5lib/namedEntities/3223 html5lib-tests |
&prap
|
5 B | |
| 003631 | html5lib/namedEntities/3224 html5lib-tests |
⪷
|
6 B | |
| 003632 | html5lib/namedEntities/3225 html5lib-tests |
&prcue
|
6 B | |
| 003633 | html5lib/namedEntities/3226 html5lib-tests |
≼
|
7 B | |
| 003634 | html5lib/namedEntities/3227 html5lib-tests |
&pre
|
4 B | |
| 003635 | html5lib/namedEntities/3228 html5lib-tests |
⪯
|
5 B | |
| 003636 | html5lib/namedEntities/3229 html5lib-tests |
&prec
|
5 B | |
| 003637 | html5lib/namedEntities/3230 html5lib-tests |
≺
|
6 B | |
| 003638 | html5lib/namedEntities/3231 html5lib-tests |
&precapprox
|
11 B | |
| 003639 | html5lib/namedEntities/3232 html5lib-tests |
⪷
|
12 B | |
| 003640 | html5lib/namedEntities/3233 html5lib-tests |
&preccurlyeq
|
12 B | |
| 003641 | html5lib/namedEntities/3234 html5lib-tests |
≼
|
13 B | |
| 003642 | html5lib/namedEntities/3235 html5lib-tests |
&preceq
|
7 B | |
| 003643 | html5lib/namedEntities/3236 html5lib-tests |
⪯
|
8 B | |
| 003644 | html5lib/namedEntities/3237 html5lib-tests |
&precnapprox
|
12 B | |
| 003645 | html5lib/namedEntities/3238 html5lib-tests |
⪹
|
13 B | |
| 003646 | html5lib/namedEntities/3239 html5lib-tests |
&precneqq
|
9 B | |
| 003647 | html5lib/namedEntities/3240 html5lib-tests |
⪵
|
10 B | |
| 003648 | html5lib/namedEntities/3241 html5lib-tests |
&precnsim
|
9 B | |
| 003649 | html5lib/namedEntities/3242 html5lib-tests |
⋨
|
10 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