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 |
|---|---|---|---|---|
| 003854 | html5lib/namedEntities/3447 html5lib-tests |
&rmoustache
|
11 B | |
| 003855 | html5lib/namedEntities/3448 html5lib-tests |
⎱
|
12 B | |
| 003856 | html5lib/namedEntities/3449 html5lib-tests |
&rnmid
|
6 B | |
| 003857 | html5lib/namedEntities/3450 html5lib-tests |
⫮
|
7 B | |
| 003858 | html5lib/namedEntities/3451 html5lib-tests |
&roang
|
6 B | |
| 003859 | html5lib/namedEntities/3452 html5lib-tests |
⟭
|
7 B | |
| 003860 | html5lib/namedEntities/3453 html5lib-tests |
&roarr
|
6 B | |
| 003861 | html5lib/namedEntities/3454 html5lib-tests |
⇾
|
7 B | |
| 003862 | html5lib/namedEntities/3455 html5lib-tests |
&robrk
|
6 B | |
| 003863 | html5lib/namedEntities/3456 html5lib-tests |
⟧
|
7 B | |
| 003864 | html5lib/namedEntities/3457 html5lib-tests |
&ropar
|
6 B | |
| 003865 | html5lib/namedEntities/3458 html5lib-tests |
⦆
|
7 B | |
| 003866 | html5lib/namedEntities/3459 html5lib-tests |
&ropf
|
5 B | |
| 003867 | html5lib/namedEntities/3460 html5lib-tests |
𝕣
|
6 B | |
| 003868 | html5lib/namedEntities/3461 html5lib-tests |
&roplus
|
7 B | |
| 003869 | html5lib/namedEntities/3462 html5lib-tests |
⨮
|
8 B | |
| 003870 | html5lib/namedEntities/3463 html5lib-tests |
&rotimes
|
8 B | |
| 003871 | html5lib/namedEntities/3464 html5lib-tests |
⨵
|
9 B | |
| 003872 | html5lib/namedEntities/3465 html5lib-tests |
&rpar
|
5 B | |
| 003873 | html5lib/namedEntities/3466 html5lib-tests |
)
|
6 B | |
| 003874 | html5lib/namedEntities/3467 html5lib-tests |
&rpargt
|
7 B | |
| 003875 | html5lib/namedEntities/3468 html5lib-tests |
⦔
|
8 B | |
| 003876 | html5lib/namedEntities/3469 html5lib-tests |
&rppolint
|
9 B | |
| 003877 | html5lib/namedEntities/3470 html5lib-tests |
⨒
|
10 B | |
| 003878 | html5lib/namedEntities/3471 html5lib-tests |
&rrarr
|
6 B | |
| 003879 | html5lib/namedEntities/3472 html5lib-tests |
⇉
|
7 B | |
| 003880 | html5lib/namedEntities/3473 html5lib-tests |
&rsaquo
|
7 B | |
| 003881 | html5lib/namedEntities/3474 html5lib-tests |
›
|
8 B | |
| 003882 | html5lib/namedEntities/3475 html5lib-tests |
&rscr
|
5 B | |
| 003883 | html5lib/namedEntities/3476 html5lib-tests |
𝓇
|
6 B | |
| 003884 | html5lib/namedEntities/3477 html5lib-tests |
&rsh
|
4 B | |
| 003885 | html5lib/namedEntities/3478 html5lib-tests |
↱
|
5 B | |
| 003886 | html5lib/namedEntities/3479 html5lib-tests |
&rsqb
|
5 B | |
| 003887 | html5lib/namedEntities/3480 html5lib-tests |
]
|
6 B | |
| 003888 | html5lib/namedEntities/3481 html5lib-tests |
&rsquo
|
6 B | |
| 003889 | html5lib/namedEntities/3482 html5lib-tests |
’
|
7 B | |
| 003890 | html5lib/namedEntities/3483 html5lib-tests |
&rsquor
|
7 B | |
| 003891 | html5lib/namedEntities/3484 html5lib-tests |
’
|
8 B | |
| 003892 | html5lib/namedEntities/3485 html5lib-tests |
&rthree
|
7 B | |
| 003893 | html5lib/namedEntities/3486 html5lib-tests |
⋌
|
8 B | |
| 003894 | html5lib/namedEntities/3487 html5lib-tests |
&rtimes
|
7 B | |
| 003895 | html5lib/namedEntities/3488 html5lib-tests |
⋊
|
8 B | |
| 003896 | html5lib/namedEntities/3489 html5lib-tests |
&rtri
|
5 B | |
| 003897 | html5lib/namedEntities/3490 html5lib-tests |
▹
|
6 B | |
| 003898 | html5lib/namedEntities/3491 html5lib-tests |
&rtrie
|
6 B | |
| 003899 | html5lib/namedEntities/3492 html5lib-tests |
⊵
|
7 B | |
| 003900 | html5lib/namedEntities/3493 html5lib-tests |
&rtrif
|
6 B | |
| 003901 | html5lib/namedEntities/3494 html5lib-tests |
▸
|
7 B | |
| 003902 | html5lib/namedEntities/3495 html5lib-tests |
&rtriltri
|
9 B | |
| 003903 | html5lib/namedEntities/3496 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