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 |
|---|---|---|---|---|
| 003704 | html5lib/namedEntities/3297 html5lib-tests |
&rAarr
|
6 B | |
| 003705 | html5lib/namedEntities/3298 html5lib-tests |
⇛
|
7 B | |
| 003706 | html5lib/namedEntities/3299 html5lib-tests |
&rArr
|
5 B | |
| 003707 | html5lib/namedEntities/3300 html5lib-tests |
⇒
|
6 B | |
| 003708 | html5lib/namedEntities/3301 html5lib-tests |
&rAtail
|
7 B | |
| 003709 | html5lib/namedEntities/3302 html5lib-tests |
⤜
|
8 B | |
| 003710 | html5lib/namedEntities/3303 html5lib-tests |
&rBarr
|
6 B | |
| 003711 | html5lib/namedEntities/3304 html5lib-tests |
⤏
|
7 B | |
| 003712 | html5lib/namedEntities/3305 html5lib-tests |
&rHar
|
5 B | |
| 003713 | html5lib/namedEntities/3306 html5lib-tests |
⥤
|
6 B | |
| 003714 | html5lib/namedEntities/3307 html5lib-tests |
&race
|
5 B | |
| 003715 | html5lib/namedEntities/3308 html5lib-tests |
∽̱
|
6 B | |
| 003716 | html5lib/namedEntities/3309 html5lib-tests |
&racute
|
7 B | |
| 003717 | html5lib/namedEntities/3310 html5lib-tests |
ŕ
|
8 B | |
| 003718 | html5lib/namedEntities/3311 html5lib-tests |
&radic
|
6 B | |
| 003719 | html5lib/namedEntities/3312 html5lib-tests |
√
|
7 B | |
| 003720 | html5lib/namedEntities/3313 html5lib-tests |
&raemptyv
|
9 B | |
| 003721 | html5lib/namedEntities/3314 html5lib-tests |
⦳
|
10 B | |
| 003722 | html5lib/namedEntities/3315 html5lib-tests |
&rang
|
5 B | |
| 003723 | html5lib/namedEntities/3316 html5lib-tests |
⟩
|
6 B | |
| 003724 | html5lib/namedEntities/3317 html5lib-tests |
&rangd
|
6 B | |
| 003725 | html5lib/namedEntities/3318 html5lib-tests |
⦒
|
7 B | |
| 003726 | html5lib/namedEntities/3319 html5lib-tests |
&range
|
6 B | |
| 003727 | html5lib/namedEntities/3320 html5lib-tests |
⦥
|
7 B | |
| 003728 | html5lib/namedEntities/3321 html5lib-tests |
&rangle
|
7 B | |
| 003729 | html5lib/namedEntities/3322 html5lib-tests |
⟩
|
8 B | |
| 003730 | html5lib/namedEntities/3323 html5lib-tests |
»
|
6 B | |
| 003731 | html5lib/namedEntities/3324 html5lib-tests |
»
|
7 B | |
| 003732 | html5lib/namedEntities/3325 html5lib-tests |
&rarr
|
5 B | |
| 003733 | html5lib/namedEntities/3326 html5lib-tests |
→
|
6 B | |
| 003734 | html5lib/namedEntities/3327 html5lib-tests |
&rarrap
|
7 B | |
| 003735 | html5lib/namedEntities/3328 html5lib-tests |
⥵
|
8 B | |
| 003736 | html5lib/namedEntities/3329 html5lib-tests |
&rarrb
|
6 B | |
| 003737 | html5lib/namedEntities/3330 html5lib-tests |
⇥
|
7 B | |
| 003738 | html5lib/namedEntities/3331 html5lib-tests |
&rarrbfs
|
8 B | |
| 003739 | html5lib/namedEntities/3332 html5lib-tests |
⤠
|
9 B | |
| 003740 | html5lib/namedEntities/3333 html5lib-tests |
&rarrc
|
6 B | |
| 003741 | html5lib/namedEntities/3334 html5lib-tests |
⤳
|
7 B | |
| 003742 | html5lib/namedEntities/3335 html5lib-tests |
&rarrfs
|
7 B | |
| 003743 | html5lib/namedEntities/3336 html5lib-tests |
⤞
|
8 B | |
| 003744 | html5lib/namedEntities/3337 html5lib-tests |
&rarrhk
|
7 B | |
| 003745 | html5lib/namedEntities/3338 html5lib-tests |
↪
|
8 B | |
| 003746 | html5lib/namedEntities/3339 html5lib-tests |
&rarrlp
|
7 B | |
| 003747 | html5lib/namedEntities/3340 html5lib-tests |
↬
|
8 B | |
| 003748 | html5lib/namedEntities/3341 html5lib-tests |
&rarrpl
|
7 B | |
| 003749 | html5lib/namedEntities/3342 html5lib-tests |
⥅
|
8 B | |
| 003750 | html5lib/namedEntities/3343 html5lib-tests |
&rarrsim
|
8 B | |
| 003751 | html5lib/namedEntities/3344 html5lib-tests |
⥴
|
9 B | |
| 003752 | html5lib/namedEntities/3345 html5lib-tests |
&rarrtl
|
7 B | |
| 003753 | html5lib/namedEntities/3346 html5lib-tests |
↣
|
8 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