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 |
|---|---|---|---|---|
| 005100 | generated/0265 Generated |
&b<⟨U+10FFFF⟩ =⇥a&csup-&s⟨U+00A0⟩'␉Z⊘x"
|
47 B | |
| 005101 | generated/0266 Generated |
-&CloseCurlyDou=␉<␀>ůZ<�
|
40 B | |
| 005102 | generated/0267 Generated |
&lcaé🎉␉f &angs↩<␀␊g'é…x
|
47 B | |
| 005103 | generated/0268 Generated |
-
|
26 B | |
| 005104 | generated/0269 Generated |
�x⨂𬪫g� ⊏'
|
52 B | |
| 005105 | generated/0270 Generated |
=##=&Un&va…&P≈'⇄¢9g&f
|
76 B | |
| 005106 | generated/0271 Generated |
␊>
|
6 B | |
| 005107 | generated/0272 Generated |
𤞂g⋍&col⟨U+00A0⟩Zf␀#�␊ &lhard⟨U+00A0⟩
|
54 B | |
| 005108 | generated/0273 Generated |
x&kcyмx日
|
24 B | |
| 005109 | generated/0274 Generated |
-紙g
|
9 B | |
| 005110 | generated/0275 Generated |
é🎉g7g日𝕝'�x&lesg⊛9>"⟨U+FFFF⟩&
|
67 B | |
| 005111 | generated/0276 Generated |
…&E�日⌖⟨U+00A0⟩ég7ℎ'#⟨U+FFFF⟩ g
|
75 B | |
| 005112 | generated/0277 Generated |
x&l␉&plu→∋Ÿ €
|
48 B | |
| 005113 | generated/0278 Generated |
-␉0#&odiv "⟸🎉
|
58 B | |
| 005114 | generated/0279 Generated |
'-"fx⧫�xx0#&zo
|
36 B | |
| 005115 | generated/0280 Generated |
œ␊>𝕛Ŵ&i'9²«
|
38 B | |
| 005116 | generated/0281 Generated |
€⟨U+00A0⟩
|
11 B | |
| 005117 | generated/0282 Generated |
<🎉Aϒ€␍g日a&boxVrf&&x0
|
57 B | |
| 005118 | generated/0283 Generated |
⥙日
|
22 B | |
| 005119 | generated/0284 Generated |
⥓𝔡&Yopfa�'∈
|
47 B | |
| 005120 | generated/0285 Generated |
<␍x"Z<␍-␉
|
28 B | |
| 005121 | generated/0286 Generated |
␊&succeq␀&gE日␍fFAx&Ntil
|
46 B | |
| 005122 | generated/0287 Generated |
&YoFé€f⫐Z�x9␊⟨U+00A0⟩
|
45 B | |
| 005123 | generated/0288 Generated |
g9
|
11 B | |
| 005124 | generated/0289 Generated |
Ѓ␀日=-▵7&ì␍�🎉&l⟨U+10FFFF⟩
|
58 B | |
| 005125 | generated/0290 Generated |
&x&r&GreaterFul;␉␀̑🍮
|
47 B | |
| 005126 | generated/0291 Generated |
g&DcΙ&ascr…␊xg#🎉'⋏0&ugrav
|
88 B | |
| 005127 | generated/0292 Generated |
g'€𠨗⪬︀&NotSquareSupers
|
55 B | |
| 005128 | generated/0293 Generated |
>=#0↦x€
|
41 B | |
| 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 | |
| 005136 | generated/0301 Generated |
|
9 B | |
| 005137 | generated/0302 Generated |
gÿa=x&'fZ&
|
23 B | |
| 005138 | generated/0303 Generated |
⟨U+00A0⟩Z€g␉⟨U+00A0⟩x日fx
|
43 B | |
| 005139 | generated/0304 Generated |
�9Zf�xé&r&DoubleDown␊&⥮…
|
66 B | |
| 005140 | generated/0305 Generated |
x�xŸ⋘̸>F€>&&middo
|
52 B | |
| 005141 | generated/0306 Generated |
'€␊9f
|
7 B | |
| 005142 | generated/0307 Generated |
⩷喦é␉>␍ &g&u⟨U+10FFFF⟩⩮&M
|
60 B | |
| 005143 | generated/0308 Generated |
Z&udh;즲g7↦9⫚∼&ssm␉&lopar#
|
61 B | |
| 005144 | generated/0309 Generated |
9-
|
2 B | |
| 005145 | generated/0310 Generated |
ŕ;&#␀&bo␉�
|
34 B | |
| 005146 | generated/0311 Generated |
>
|
1 B | |
| 005147 | generated/0312 Generated |
␉ &nb€&nu␊Ћ␀日…<э
|
37 B | |
| 005148 | generated/0313 Generated |
F=␍ &⟸
|
21 B | |
| 005149 | generated/0314 Generated |
f'
|
2 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