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
2,241 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 004941 | generated/0106 Generated |
-ㅛ&lceil€#␊<
|
27 B | |
| 004943 | generated/0108 Generated |
#&inf>#;g9
|
19 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 | |
| 004950 | generated/0115 Generated |
⊭&yfr␊€x7&n日⧶&
|
41 B | |
| 004951 | generated/0116 Generated |
⟨U+10FFFF⟩ &Ari#⩺&a∦'⟨U+FFFF⟩⟨U+10FFFF⟩
|
74 B | |
| 004952 | generated/0117 Generated |
x&nleftar"f
|
29 B | |
| 004954 | generated/0119 Generated |
&Hu&gl> "é;€=#␊g
|
37 B | |
| 004956 | generated/0121 Generated |
;<⟨U+10FFFF⟩>å⟨U+FFFF⟩ 𝓊#0�⋠
|
70 B | |
| 004957 | generated/0122 Generated |
-␍=&quateaZ&tho␍
|
20 B | |
| 004958 | generated/0123 Generated |
␍x&coă␉x∽7='日䪷€
|
68 B | |
| 004959 | generated/0124 Generated |
␉ϱZ& &∸-"0
|
28 B | |
| 004960 | generated/0125 Generated |
𝔬&KH⫚&les&rig=&bcon&DoubleDownA
|
53 B | |
| 004961 | generated/0126 Generated |
🎉&rightrighta'F€&A f≿̸g"ℳ&dtdogéx
|
89 B | |
| 004962 | generated/0127 Generated |
&topf日␉g&lbrack7'╖
|
34 B | |
| 004964 | generated/0129 Generated |
&Lef 日;&x∥&LJ=⟨U+00A0⟩
|
34 B | |
| 004966 | generated/0131 Generated |
&–␉&zscr7=Ÿ a &NotEqualTi␊⋛日日
|
82 B | |
| 004967 | generated/0132 Generated |
␉=&prec⟨U+10FFFF⟩x&csu
|
21 B | |
| 004970 | generated/0135 Generated |
éaZé&for¤�x
|
31 B | |
| 004971 | generated/0136 Generated |
;9gé
|
23 B | |
| 004972 | generated/0137 Generated |
𝔍;F ⩘0&vartrianglel␊🎉␍
|
59 B | |
| 004973 | generated/0138 Generated |
�€⟨U+00A0⟩ x&SHCH#⟨U+00A0⟩;␀日Ax
|
50 B | |
| 004974 | generated/0139 Generated |
&up-;
|
15 B | |
| 004975 | generated/0140 Generated |
"∐"⪒;␀;"🎉�␊ŀ
|
42 B | |
| 004977 | generated/0142 Generated |
&ngeqsl�&&glE<≺é&pl&𤍊 Ÿ<
|
48 B | |
| 004978 | generated/0143 Generated |
ЭZ&NotSquare�𝕔&c 7&Rcy
|
40 B | |
| 004979 | generated/0144 Generated |
<a'&=⟨U+10FFFF⟩⫆
|
26 B | |
| 004980 | generated/0145 Generated |
;≍€#␉⊎'&ur&IA-
|
54 B | |
| 004981 | generated/0146 Generated |
␉"⥪7'𗦈gé&F日
|
31 B | |
| 004982 | generated/0147 Generated |
gg-&frac
|
26 B | |
| 004983 | generated/0148 Generated |
=-&ma&Zx€&"
|
35 B | |
| 004984 | generated/0149 Generated |
␍x&leftarrow#>𠌗g⊐̸�x&sexÙé0g
|
77 B | |
| 004985 | generated/0150 Generated |
日9␉&#␉憾g&bx⤛f- &i0#
|
34 B | |
| 004987 | generated/0152 Generated |
⟨U+FFFF⟩-€g
|
32 B | |
| 004988 | generated/0153 Generated |
F␉&=&oac⟨U+FFFF⟩ ␍
|
28 B | |
| 004989 | generated/0154 Generated |
␊>⟨U+10FFFF⟩xð0=日'&uogo&xi
|
39 B | |
| 004990 | generated/0155 Generated |
&mf␀� Ò&TildeEqualF�蠡�gЏ␊
|
74 B | |
| 004992 | generated/0157 Generated |
⊟&ffr7&AgÎx⟨U+FFFF⟩xF&f
|
34 B | |
| 004993 | generated/0158 Generated |
🎉�x&NotNeste
|
17 B | |
| 004994 | generated/0159 Generated |
⟨U+00A0⟩x␀
|
7 B | |
| 004995 | generated/0160 Generated |
�и日ZŸg⟨U+FFFF⟩&nwArr0&emptyse
|
69 B | |
| 004996 | generated/0161 Generated |
97&Kscr&LeftArro>␊F
|
39 B | |
| 004997 | generated/0162 Generated |
gg#x␍⟨U+FFFF⟩⟨U+10FFFF⟩xg�fx<↔
|
94 B | |
| 004998 | generated/0163 Generated |
A&n&race&rmoustache"Fg;&z&triang
|
44 B | |
| 005001 | generated/0166 Generated |
&wf7g
|
23 B | |
| 005002 | generated/0167 Generated |
|
10 B | |
| 005003 | generated/0168 Generated |
F🎉#日&dH€⋎
|
31 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