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 |
|---|---|---|---|---|
| 005129 | generated/0294 Generated |
␊9Fg⇂&s日&p9¹€9
|
40 B | |
| 005130 | generated/0295 Generated |
&⟨U+00A0⟩ ␉x€ x≱∖
|
38 B | |
| 005131 | generated/0296 Generated |
;x&agr&for&ropf
|
25 B | |
| 005132 | generated/0297 Generated |
␊&RightVector�<xxx0␊&aég
|
49 B | |
| 005133 | generated/0298 Generated |
&r€⦰𝒿Ş#-⨹ >A &bepsi
|
62 B | |
| 005134 | generated/0299 Generated |
�=␍𢕺g&0&t
|
37 B | |
| 005135 | generated/0300 Generated |
&G
|
2 B | |
| 005137 | generated/0302 Generated |
gÿa=x&'fZ&
|
23 B | |
| 005139 | generated/0304 Generated |
�9Zf�xé&r&DoubleDown␊&⥮…
|
66 B | |
| 005140 | generated/0305 Generated |
x�xŸ⋘̸>F€>&&middo
|
52 B | |
| 005142 | generated/0307 Generated |
⩷喦é␉>␍ &g&u⟨U+10FFFF⟩⩮&M
|
60 B | |
| 005143 | generated/0308 Generated |
Z&udh;즲g7↦9⫚∼&ssm␉&lopar#
|
61 B | |
| 005145 | generated/0310 Generated |
ŕ;&#␀&bo␉�
|
34 B | |
| 005147 | generated/0312 Generated |
␉ &nb€&nu␊Ћ␀日…<э
|
37 B | |
| 005148 | generated/0313 Generated |
F=␍ &⟸
|
21 B | |
| 005150 | generated/0315 Generated |
␉ζ⫃=≴⊢=
|
42 B | |
| 005152 | generated/0317 Generated |
>� "� ␉&€⪉
|
34 B | |
| 005153 | generated/0318 Generated |
î␍🎉F\€ g
|
50 B | |
| 005154 | generated/0319 Generated |
A⌞␊>⥒Ŗa
|
38 B | |
| 005155 | generated/0320 Generated |
&ntriang' 日&gr€"Ú'A0&F⩦#
|
48 B | |
| 005156 | generated/0321 Generated |
7&imaglineg␀x␍xxħfx
|
38 B | |
| 005157 | generated/0322 Generated |
&NotTi0␀⋃␀=*日&Z⋉€
|
48 B | |
| 005158 | generated/0323 Generated |
><␉
|
14 B | |
| 005160 | generated/0325 Generated |
'gFZ� g&;Zf𝕃⨺F&n;
|
51 B | |
| 005161 | generated/0326 Generated |
ï"0␊&timg
|
30 B | |
| 005162 | generated/0327 Generated |
⊥Μ␊0𣎁g日
|
28 B | |
| 005164 | generated/0329 Generated |
Æ&𣽈gA ↔'&kg␊g
|
68 B | |
| 005166 | generated/0331 Generated |
� '0…x�␉⟨U+200D⟩𛃡g#␉◃κ
|
64 B | |
| 005167 | generated/0332 Generated |
a␀⟨U+10FFFF⟩ &dg␊>F&𝔮7│␀€f
|
51 B | |
| 005168 | generated/0333 Generated |
g⟨U+00A0⟩x🎉Ÿ&péZ
|
38 B | |
| 005171 | generated/0336 Generated |
g'#&LongR
|
18 B | |
| 005172 | generated/0337 Generated |
é&kf
|
5 B | |
| 005173 | generated/0338 Generated |
&m␀é'Ax
|
11 B | |
| 005174 | generated/0339 Generated |
日∀␊🎉␍x Ìg&ldqu␉ g� f
|
84 B | |
| 005176 | generated/0341 Generated |
★🎉 féF␊€&
|
24 B | |
| 005177 | generated/0342 Generated |
&straightph␊&xೖ�x∗
|
45 B | |
| 005178 | generated/0343 Generated |
-ℳ fϕ𦞧 &n
|
40 B | |
| 005179 | generated/0344 Generated |
⥅&nl>=f⟨U+FFFF⟩
|
29 B | |
| 005180 | generated/0345 Generated |
îg␒g⤷"𗫣… 0↠
|
82 B | |
| 005181 | generated/0346 Generated |
&Ŵ
|
8 B | |
| 005183 | generated/0348 Generated |
🎉0&U␉␍x≂ 7#Z&p&hcir⋛⇘
|
70 B | |
| 005184 | generated/0349 Generated |
𱇲⪯̸a
|
27 B | |
| 005185 | generated/0350 Generated |
F9&f
|
4 B | |
| 005186 | generated/0351 Generated |
␍x⨆'g<"x&x␉f;€ �日
|
62 B | |
| 005187 | generated/0352 Generated |
⟨U+00A0⟩␀&LJcy�Ÿ ␉<� =
|
37 B | |
| 005188 | generated/0353 Generated |
&ulcr…gx€≎A f0&lsqu⟨U+10FFFF⟩x␀
|
69 B | |
| 005189 | generated/0354 Generated |
ℒŸF
|
15 B | |
| 005191 | generated/0356 Generated |
🎉⌖
|
13 B | |
| 005193 | generated/0358 Generated |
;FZg␍ ⟨U+10FFFF⟩x⟵xé🎉⟨U+10FFFF⟩x-&si&ncy
|
66 B | |
| 005194 | generated/0359 Generated |
� x&◂&Dcℚ⅖&g
|
76 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