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 |
|---|---|---|---|---|
| 003404 | html5lib/namedEntities/2997 html5lib-tests |
#
|
5 B | |
| 003405 | html5lib/namedEntities/2998 html5lib-tests |
&numero
|
7 B | |
| 003406 | html5lib/namedEntities/2999 html5lib-tests |
№
|
8 B | |
| 003407 | html5lib/namedEntities/3000 html5lib-tests |
&numsp
|
6 B | |
| 003408 | html5lib/namedEntities/3001 html5lib-tests |
|
7 B | |
| 003409 | html5lib/namedEntities/3002 html5lib-tests |
&nvDash
|
7 B | |
| 003410 | html5lib/namedEntities/3003 html5lib-tests |
⊭
|
8 B | |
| 003411 | html5lib/namedEntities/3004 html5lib-tests |
&nvHarr
|
7 B | |
| 003412 | html5lib/namedEntities/3005 html5lib-tests |
⤄
|
8 B | |
| 003413 | html5lib/namedEntities/3006 html5lib-tests |
&nvap
|
5 B | |
| 003414 | html5lib/namedEntities/3007 html5lib-tests |
≍⃒
|
6 B | |
| 003415 | html5lib/namedEntities/3008 html5lib-tests |
&nvdash
|
7 B | |
| 003416 | html5lib/namedEntities/3009 html5lib-tests |
⊬
|
8 B | |
| 003417 | html5lib/namedEntities/3010 html5lib-tests |
&nvge
|
5 B | |
| 003418 | html5lib/namedEntities/3011 html5lib-tests |
≥⃒
|
6 B | |
| 003419 | html5lib/namedEntities/3012 html5lib-tests |
&nvgt
|
5 B | |
| 003420 | html5lib/namedEntities/3013 html5lib-tests |
>⃒
|
6 B | |
| 003421 | html5lib/namedEntities/3014 html5lib-tests |
&nvinfin
|
8 B | |
| 003422 | html5lib/namedEntities/3015 html5lib-tests |
⧞
|
9 B | |
| 003423 | html5lib/namedEntities/3016 html5lib-tests |
&nvlArr
|
7 B | |
| 003424 | html5lib/namedEntities/3017 html5lib-tests |
⤂
|
8 B | |
| 003425 | html5lib/namedEntities/3018 html5lib-tests |
&nvle
|
5 B | |
| 003426 | html5lib/namedEntities/3019 html5lib-tests |
≤⃒
|
6 B | |
| 003427 | html5lib/namedEntities/3020 html5lib-tests |
&nvlt
|
5 B | |
| 003428 | html5lib/namedEntities/3021 html5lib-tests |
<⃒
|
6 B | |
| 003429 | html5lib/namedEntities/3022 html5lib-tests |
&nvltrie
|
8 B | |
| 003430 | html5lib/namedEntities/3023 html5lib-tests |
⊴⃒
|
9 B | |
| 003431 | html5lib/namedEntities/3024 html5lib-tests |
&nvrArr
|
7 B | |
| 003432 | html5lib/namedEntities/3025 html5lib-tests |
⤃
|
8 B | |
| 003433 | html5lib/namedEntities/3026 html5lib-tests |
&nvrtrie
|
8 B | |
| 003434 | html5lib/namedEntities/3027 html5lib-tests |
⊵⃒
|
9 B | |
| 003435 | html5lib/namedEntities/3028 html5lib-tests |
&nvsim
|
6 B | |
| 003436 | html5lib/namedEntities/3029 html5lib-tests |
∼⃒
|
7 B | |
| 003437 | html5lib/namedEntities/3030 html5lib-tests |
&nwArr
|
6 B | |
| 003438 | html5lib/namedEntities/3031 html5lib-tests |
⇖
|
7 B | |
| 003439 | html5lib/namedEntities/3032 html5lib-tests |
&nwarhk
|
7 B | |
| 003440 | html5lib/namedEntities/3033 html5lib-tests |
⤣
|
8 B | |
| 003441 | html5lib/namedEntities/3034 html5lib-tests |
&nwarr
|
6 B | |
| 003442 | html5lib/namedEntities/3035 html5lib-tests |
↖
|
7 B | |
| 003443 | html5lib/namedEntities/3036 html5lib-tests |
&nwarrow
|
8 B | |
| 003444 | html5lib/namedEntities/3037 html5lib-tests |
↖
|
9 B | |
| 003445 | html5lib/namedEntities/3038 html5lib-tests |
&nwnear
|
7 B | |
| 003446 | html5lib/namedEntities/3039 html5lib-tests |
⤧
|
8 B | |
| 003447 | html5lib/namedEntities/3040 html5lib-tests |
&oS
|
3 B | |
| 003448 | html5lib/namedEntities/3041 html5lib-tests |
Ⓢ
|
4 B | |
| 003449 | html5lib/namedEntities/3042 html5lib-tests |
ó
|
7 B | |
| 003450 | html5lib/namedEntities/3043 html5lib-tests |
ó
|
8 B | |
| 003451 | html5lib/namedEntities/3044 html5lib-tests |
&oast
|
5 B | |
| 003452 | html5lib/namedEntities/3045 html5lib-tests |
⊛
|
6 B | |
| 003453 | html5lib/namedEntities/3046 html5lib-tests |
&ocir
|
5 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