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 |
|---|---|---|---|---|
| 005500 | generated/0665 Generated |
ä&in"Zg&␀=⟨U+10FFFF⟩x&Leftrightarro␀п
|
70 B | |
| 005501 | generated/0666 Generated |
&nsi>gg
|
24 B | |
| 005502 | generated/0667 Generated |
&␀日0'=�
|
18 B | |
| 005503 | generated/0668 Generated |
#Ë0A╚>é␀9-
|
43 B | |
| 005504 | generated/0669 Generated |
""é&t>"⦭&Colone⌌&UpArrowDownArr
|
61 B | |
| 005505 | generated/0670 Generated |
⋋"日g&osol&rar
|
39 B | |
| 005506 | generated/0671 Generated |
xA&OverBag7␀;7F
|
35 B | |
| 005507 | generated/0672 Generated |
⪯€-&Lo␊x#≬ag
|
41 B | |
| 005508 | generated/0673 Generated |
a日 -日␍≯&ems'&con-
|
33 B | |
| 005509 | generated/0674 Generated |
�
|
24 B | |
| 005510 | generated/0675 Generated |
gZ&p�x€↳␀
|
41 B | |
| 005511 | generated/0676 Generated |
␉≖&Tsc⊹&Ÿ 7⥝␊␊
|
49 B | |
| 005512 | generated/0677 Generated |
⊂⃒🎉;日a#
|
19 B | |
| 005513 | generated/0678 Generated |
€�x€>&HARDcy
|
34 B | |
| 005514 | generated/0679 Generated |
␀g
|
11 B | |
| 005515 | generated/0680 Generated |
≤#řa9<␉x⥴
|
29 B | |
| 005516 | generated/0681 Generated |
╒x0>Ÿx⟨U+10FFFF⟩ &&bi9
|
31 B | |
| 005517 | generated/0682 Generated |
x0⟨U+00A0⟩x∔ag&yac∢÷␉ &backco&LeftArrowRightArro𝓋F日
|
95 B | |
| 005518 | generated/0683 Generated |
⥬&↦
|
24 B | |
| 005519 | generated/0684 Generated |
⟨U+FFFF⟩␊>7⇛g7&thetasy
|
59 B | |
| 005520 | generated/0685 Generated |
9‚
|
6 B | |
| 005521 | generated/0686 Generated |
ég0 -"Ÿ0≉
|
45 B | |
| 005522 | generated/0687 Generated |
∔↧␊␉f≧̸;⟨U+10FFFF⟩ "a␊ g=
|
66 B | |
| 005523 | generated/0688 Generated |
0␊↧"éfl
|
24 B | |
| 005524 | generated/0689 Generated |
a�
|
19 B | |
| 005525 | generated/0690 Generated |
9⟨U+10FFFF⟩x>7éa 🎉🎉€␉ 𝒰␀
|
39 B | |
| 005526 | generated/0691 Generated |
␊€x…€#γ€⧐̸x⟨U+10FFFF⟩x�
|
65 B | |
| 005527 | generated/0692 Generated |
Ý≢🎉�x⨰日&U&Doub…
|
53 B | |
| 005528 | generated/0693 Generated |
0йé>&ZŠ␍⤏&E🎉<xZ
|
51 B | |
| 005529 | generated/0694 Generated |
�␍xŸx€
|
31 B | |
| 005530 | generated/0695 Generated |
Ч… €=&R>07<x
|
31 B | |
| 005531 | generated/0696 Generated |
0&Gop日9↬⩄⪡̸"7⟩⪌€⪅
|
93 B | |
| 005532 | generated/0697 Generated |
>f&≎̸&Iogon⩯a&s≒
|
35 B | |
| 005533 | generated/0698 Generated |
g&e&␉ ö
|
27 B | |
| 005534 | generated/0699 Generated |
&ulc€&Lan>F␊⟨U+FFFF⟩x␀… g=␉ �x日€⟨U+00A0⟩
|
61 B | |
| 005535 | generated/0700 Generated |
日
|
12 B | |
| 005536 | generated/0701 Generated |
x'&x�日&ocir0=
|
43 B | |
| 005537 | generated/0702 Generated |
7g…xF日&Io0␀"≭Z␉
|
42 B | |
| 005538 | generated/0703 Generated |
g�Z-&␊&mx␍ �🎉&
|
53 B | |
| 005539 | generated/0704 Generated |
€&L&LeftDownVAé*0f⟨U+00A0⟩ 9>'␊␍&NotRev𝕎
|
56 B | |
| 005540 | generated/0705 Generated |
�␍ <>&tgg0⟧␊;𝔩>g
|
62 B | |
| 005541 | generated/0706 Generated |
Z"&Omacré&kappa
|
36 B | |
| 005542 | generated/0707 Generated |
9⟨U+00A0⟩日<<🎉
|
17 B | |
| 005543 | generated/0708 Generated |
f⟨U+00A0⟩日 ▸a;⟨U+FFFF⟩>g
|
70 B | |
| 005544 | generated/0709 Generated |
日&rotim␉↥;║Z⩐&g∮"␀A
|
55 B | |
| 005545 | generated/0710 Generated |
g&lnE␉"␀
|
17 B | |
| 005546 | generated/0711 Generated |
'"=0⟨U+10FFFF⟩x'⟨U+FFFF⟩ &ci�Z⨍€a'
|
51 B | |
| 005547 | generated/0712 Generated |
g&npŵ;7日€
|
28 B | |
| 005548 | generated/0713 Generated |
#&C9a
|
13 B | |
| 005549 | generated/0714 Generated |
␉x日ф; ;F␉xFZ日f…x
|
50 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