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 |
|---|---|---|---|---|
| 005450 | generated/0615 Generated |
9<␍x日…x&-"⇆
|
58 B | |
| 005451 | generated/0616 Generated |
&realp0🎉𡷱g⅙9&l=⟨U+00A0⟩␉⪯̸&lam
|
61 B | |
| 005452 | generated/0617 Generated |
&�g&ccapZé'日&x�␀&co-
|
79 B | |
| 005453 | generated/0618 Generated |
'<␀<␊日��&lharu␊↻<␊
|
58 B | |
| 005454 | generated/0619 Generated |
"␍&n"␉🎉x—9€
|
24 B | |
| 005455 | generated/0620 Generated |
'⪿0🎉⋠日&gacu€
|
42 B | |
| 005456 | generated/0621 Generated |
&m␉…é␊ 日🎉
|
23 B | |
| 005457 | generated/0622 Generated |
�x🎉⟨U+10FFFF⟩
|
17 B | |
| 005458 | generated/0623 Generated |
&sup&u⤷-&cu⊣
|
25 B | |
| 005459 | generated/0624 Generated |
␀g� 㥘&updownar-f
|
38 B | |
| 005460 | generated/0625 Generated |
⥿��x0&rc␊␍
|
30 B | |
| 005461 | generated/0626 Generated |
짧-🎉'€&
|
20 B | |
| 005462 | generated/0627 Generated |
␉т& 'fF&H9f🎉;
|
33 B | |
| 005463 | generated/0628 Generated |
&I&is&f><g𠂚a;ů<&Tscg␉
|
59 B | |
| 005464 | generated/0629 Generated |
�xfg␍f
|
23 B | |
| 005465 | generated/0630 Generated |
⟨U+00A0⟩&␊xx<∸
|
33 B | |
| 005466 | generated/0631 Generated |
Z€Z�0≽Š␀€&eqslant␊␉gf&Gamma⦪
|
81 B | |
| 005467 | generated/0632 Generated |
␍*> 77=
|
20 B | |
| 005468 | generated/0633 Generated |
日␍ &Medi␊
|
14 B | |
| 005469 | generated/0634 Generated |
ZŸ 7⊔fAx&�x7=>'⟫
|
51 B | |
| 005470 | generated/0635 Generated |
🎉f&Y↿7␀␉я-&l
|
34 B | |
| 005471 | generated/0636 Generated |
#… ␀&a𢳡ég>�-
|
51 B | |
| 005472 | generated/0637 Generated |
-&&R⩲Z-�x=×FАg
|
66 B | |
| 005473 | generated/0638 Generated |
日>a␉&coprod
|
13 B | |
| 005474 | generated/0639 Generated |
�␍-;⇈�
|
31 B | |
| 005475 | generated/0640 Generated |
🎉
|
12 B | |
| 005476 | generated/0641 Generated |
␊€⇋x⟨U+FFFF⟩ �xÍ&ra&udha&R
|
67 B | |
| 005477 | generated/0642 Generated |
gˇg"␉Ꭶxx⩳
|
52 B | |
| 005478 | generated/0643 Generated |
⥐≑>␉�g7␍𣳥#€
|
70 B | |
| 005479 | generated/0644 Generated |
&g␍␍€g# &ie�gfF∅
|
51 B | |
| 005480 | generated/0645 Generated |
7日␊&Vfr0>&nsccg
|
25 B | |
| 005481 | generated/0646 Generated |
&ca<a∈AxfЁ&Iacu␍xx&laq&Sc
|
51 B | |
| 005482 | generated/0647 Generated |
␊€é&NotGreate- 𝓆
|
24 B | |
| 005483 | generated/0648 Generated |
=.&nt&origof&NotTild'99
|
30 B | |
| 005484 | generated/0649 Generated |
#F'-g
|
24 B | |
| 005485 | generated/0650 Generated |
€&sqs0&angmsda7⟨U+10FFFF⟩ه
|
32 B | |
| 005486 | generated/0651 Generated |
⟨U+00A0⟩ &nls≌⟨U+10FFFF⟩ >Д<`∄⟨U+FFFF⟩ ␊xŸ Ċ
|
93 B | |
| 005487 | generated/0652 Generated |
Ÿ'=𝒢&Equil𦌩&b-9
|
32 B | |
| 005488 | generated/0653 Generated |
"0
|
2 B | |
| 005489 | generated/0654 Generated |
日
|
11 B | |
| 005490 | generated/0655 Generated |
ffg&SHc𝔮
|
21 B | |
| 005491 | generated/0656 Generated |
f-⎪&K>é#⋐
|
23 B | |
| 005492 | generated/0657 Generated |
🎉日␍� éf€≧f<𝕚
|
49 B | |
| 005493 | generated/0658 Generated |
⧍é&re
|
12 B | |
| 005494 | generated/0659 Generated |
F␍м⟨U+00A0⟩£␀9&lneq⤓… ␍
|
55 B | |
| 005495 | generated/0660 Generated |
𝔟€
|
8 B | |
| 005496 | generated/0661 Generated |
€a⟨U+10FFFF⟩x⟨U+FFFF⟩ ć🎉#;g�-
|
58 B | |
| 005497 | generated/0662 Generated |
'xx� &cZ>…-"fa
|
20 B | |
| 005498 | generated/0663 Generated |
␀€Ax&Ncedi"␍;=&as⋗
|
41 B | |
| 005499 | generated/0664 Generated |
␊€
|
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