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 |
|---|---|---|---|---|
| 004890 | generated/0055 Generated |
¶x␉g
|
18 B | |
| 004891 | generated/0056 Generated |
é-&Gsc…x�
|
16 B | |
| 004892 | generated/0057 Generated |
0␍ ␉&wsc␍7↫&ié7⟨U+00A0⟩
|
39 B | |
| 004893 | generated/0058 Generated |
…& €'&� Axϱg⊔°7Ú&wf
|
86 B | |
| 004894 | generated/0059 Generated |
é⟨U+00A0⟩&Lsh≎⟨U+00A0⟩#g…x
|
60 B | |
| 004895 | generated/0060 Generated |
ێ&cced
|
19 B | |
| 004896 | generated/0061 Generated |
&eD9&lrh日#␉ &loplus<
|
22 B | |
| 004897 | generated/0062 Generated |
&dagger&prure0&g&lacutef;0gZ�-
|
49 B | |
| 004899 | generated/0064 Generated |
€…&<&Jukcy9␊>A
|
25 B | |
| 004900 | generated/0065 Generated |
№9␉0&rfloo0é
|
20 B | |
| 004901 | generated/0066 Generated |
F"& ÷ontimes<'#€∥€€x
|
42 B | |
| 004903 | generated/0068 Generated |
▱␊7&Jukc€&uZ£
|
36 B | |
| 004904 | generated/0069 Generated |
⟨U+00A0⟩x𑜊🎉&v-é
|
33 B | |
| 004906 | generated/0071 Generated |
a&rdca<Ÿ ␊␉␉⟨U+10FFFF⟩ 7/∱
|
39 B | |
| 004908 | generated/0073 Generated |
F&mal&a�⩜g;
|
44 B | |
| 004909 | generated/0074 Generated |
␍ég&nvF⋉␀-é'
|
30 B | |
| 004910 | generated/0075 Generated |
&scn𝔐 '◯>f
|
22 B | |
| 004911 | generated/0076 Generated |
#& &x'0é&LsZ␀a
|
30 B | |
| 004912 | generated/0077 Generated |
␉␊&Ba
|
5 B | |
| 004913 | generated/0078 Generated |
␉Z&uAĵ⊀⥅� <#⪎7
|
68 B | |
| 004914 | generated/0079 Generated |
€� #&SHcy↺0>≓'0=#f&vBarvf&frac3
|
51 B | |
| 004916 | generated/0081 Generated |
Z⦏ℑ&ig≹&ntlg&ratŸ⌎
|
70 B | |
| 004917 | generated/0082 Generated |
&l
|
3 B | |
| 004919 | generated/0084 Generated |
␉ ⟨U+10FFFF⟩&Cc␉↽␉&middx␊Ÿxë
|
77 B | |
| 004920 | generated/0085 Generated |
0⊳€≈�≼␍�x ␍
|
70 B | |
| 004921 | generated/0086 Generated |
a&Ic-
|
14 B | |
| 004922 | generated/0087 Generated |
0⌈� f#
|
35 B | |
| 004923 | generated/0088 Generated |
⋌&twoheadrightarro⟨U+10FFFF⟩ � <
|
53 B | |
| 004925 | generated/0090 Generated |
>9&Wscr∋🎉0€x
|
28 B | |
| 004927 | generated/0092 Generated |
&ag⥒€&NotRigh◸x
|
54 B | |
| 004928 | generated/0093 Generated |
𝕋é7ZF&in日F9
|
19 B | |
| 004929 | generated/0094 Generated |
<蜹🎉日𝓎"9f-'日F␀
|
37 B | |
| 004930 | generated/0095 Generated |
Z9␉x<0🎉�↚Ÿx⟨U+10FFFF⟩ Ÿx⋚F;
|
74 B | |
| 004931 | generated/0096 Generated |
-𝔟↵�🎉␍=0>⋬╠g␊⋀é
|
78 B | |
| 004932 | generated/0097 Generated |
>⊨𘇵🎉≿
|
61 B | |
| 004934 | generated/0099 Generated |
&pr⟨U+10FFFF⟩xA
|
18 B | |
| 004935 | generated/0100 Generated |
&emaa⨍
|
15 B | |
| 004936 | generated/0101 Generated |
🎉g=&range日>🎉␉xx>g>'&bum⋛
|
69 B | |
| 004937 | generated/0102 Generated |
&cce⫙∘␀↦
|
28 B | |
| 004939 | generated/0104 Generated |
Zg;#␍≈℗日#
|
42 B | |
| 004940 | generated/0105 Generated |
aā′⟨U+FFFF⟩
|
23 B | |
| 004941 | generated/0106 Generated |
-ㅛ&lceil€#␊<
|
27 B | |
| 004942 | generated/0107 Generated |
Z'✗
|
9 B | |
| 004943 | generated/0108 Generated |
#&inf>#;g9
|
19 B | |
| 004944 | generated/0109 Generated |
␊&tr␀ςxf␍>>F
|
21 B | |
| 004945 | generated/0110 Generated |
Ÿx&ua␍
|
10 B | |
| 004946 | generated/0111 Generated |
␍Ÿ🎉⨆␀&aÌ𧩼9⟨U+00A0⟩
|
45 B | |
| 004947 | generated/0112 Generated |
F⁃-&<⇿⋡"x⧝…
|
48 B | |
| 004948 | generated/0113 Generated |
Г␉g"
|
17 B | |
| 004949 | generated/0114 Generated |
␍ &LongLeftArré0⇕<␉
|
49 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