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 |
|---|---|---|---|---|
| 005700 | generated/0865 Generated |
&percnt␉f&-A Ÿx␊
|
52 B | |
| 005701 | generated/0866 Generated |
&𪗆# ≠
|
41 B | |
| 005702 | generated/0867 Generated |
#g&é€&models
|
28 B | |
| 005703 | generated/0868 Generated |
=␊x
|
41 B | |
| 005704 | generated/0869 Generated |
□&lscr⊽日�Zé<€éℰ9Z
|
65 B | |
| 005705 | generated/0870 Generated |
>� ⅚7&␍мA #
|
33 B | |
| 005706 | generated/0871 Generated |
⟨U+FFFF⟩ &leftleftarrows∌⟨U+FFFF⟩"␀-ၪg-'<␉&c&Doub
|
60 B | |
| 005707 | generated/0872 Generated |
>0 '¿0
|
13 B | |
| 005708 | generated/0873 Generated |
9␊g日é"␀&
|
54 B | |
| 005709 | generated/0874 Generated |
aZa日𝕁🎉␀
|
17 B | |
| 005710 | generated/0875 Generated |
␊🎉␍⟨U+10FFFF⟩⥗;␀&NotTildeFullE#日gf&mscr
|
80 B | |
| 005711 | generated/0876 Generated |
␊…℧>; a7g9
|
47 B | |
| 005712 | generated/0877 Generated |
ax&ominufé #&Psi&nsc🎉日�≳ é
|
55 B | |
| 005713 | generated/0878 Generated |
&pr日␍g&curre𝕚<␉日
|
68 B | |
| 005714 | generated/0879 Generated |
⟨U+00A0⟩x
|
14 B | |
| 005715 | generated/0880 Generated |
日éf␉€f🎉0🎉&h a
|
33 B | |
| 005716 | generated/0881 Generated |
␊x𥁹'␉⧅g⩝
|
56 B | |
| 005717 | generated/0882 Generated |
␍╫0
|
9 B | |
| 005718 | generated/0883 Generated |
&OverB0f日9a0&>&r&nc
|
29 B | |
| 005719 | generated/0884 Generated |
␀&Ysc&les&atildŕ-x日&
|
47 B | |
| 005720 | generated/0885 Generated |
-🎉&rZZA
|
14 B | |
| 005721 | generated/0886 Generated |
⋓"9=日&&⇖&NotSucceedsF日
|
36 B | |
| 005722 | generated/0887 Generated |
&hybu&gsim&é"&aac;␍"éA ⇽&g
|
46 B | |
| 005723 | generated/0888 Generated |
ZF⟨U+10FFFF⟩xé␍0&dot"0�g 0␍
|
46 B | |
| 005724 | generated/0889 Generated |
g<9␍∲éF=é␀0⋣&rarr#⟨U+10FFFF⟩F
|
91 B | |
| 005725 | generated/0890 Generated |
Ŀ⌍;&DownArr9&orda=Ax
|
45 B | |
| 005726 | generated/0891 Generated |
日 F-␍#a�日
|
16 B | |
| 005727 | generated/0892 Generated |
&€&csup日� —&hyphenf'#f⇕
|
56 B | |
| 005728 | generated/0893 Generated |
€&empt&M␉-7F7 &NoAx� &ta9␉
|
48 B | |
| 005729 | generated/0894 Generated |
🎉7 &boxé&ld=&l⟨U+00A0⟩ &D⥝é
|
75 B | |
| 005730 | generated/0895 Generated |
🎉éF␉⇕␍g
|
24 B | |
| 005731 | generated/0896 Generated |
&␊F&-
|
5 B | |
| 005732 | generated/0897 Generated |
&frac3⟨U+10FFFF⟩ �x␊A 𠨼␊x<
|
55 B | |
| 005733 | generated/0898 Generated |
&imat#-ZA &b'<𝓎&e
|
44 B | |
| 005734 | generated/0899 Generated |
0𮙠g#�x日0Ax0␊⥔x<Za^
|
67 B | |
| 005735 | generated/0900 Generated |
&nvDash״&cu
|
16 B | |
| 005736 | generated/0901 Generated |
⟨U+00A0⟩F
|
6 B | |
| 005737 | generated/0902 Generated |
<x␊║⟨U+00A0⟩ ⇊é&nrar&rin€x
|
58 B | |
| 005738 | generated/0903 Generated |
=⟨U+00A0⟩x…&r␀⟨U+10FFFF⟩&nf
|
29 B | |
| 005739 | generated/0904 Generated |
-�x#€&mc⊂0g"&␍9'
|
52 B | |
| 005740 | generated/0905 Generated |
0␇
|
22 B | |
| 005741 | generated/0906 Generated |
↻…xf⇒>x
|
43 B | |
| 005742 | generated/0907 Generated |
A 𝔠⟨U+00A0⟩x
|
34 B | |
| 005743 | generated/0908 Generated |
␉€x␊=ŶA<€-xf<日�x
|
56 B | |
| 005744 | generated/0909 Generated |
≡<a⊀a#"╓<>=日
|
30 B | |
| 005745 | generated/0910 Generated |
gᗽ𨁕&llhard鶵&Df0=Ÿ⨮⟨U+00A0⟩ >#⟨U+FFFF⟩
|
75 B | |
| 005746 | generated/0911 Generated |
x⟨U+FFFF⟩x€€<&ycir␊�g-&uÂ␊7⤏
|
53 B | |
| 005747 | generated/0912 Generated |
Ax&Oacu&& €x9␊
|
47 B | |
| 005748 | generated/0913 Generated |
&ic�↰␉&Rarrt
|
25 B | |
| 005749 | generated/0914 Generated |
€Z¨&s日#⟨U+FFFF⟩x日&
|
26 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