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 |
|---|---|---|---|---|
| 006145 | generated/1310 Generated |
Z9F;␊fx&rcedil⧞>日␍⫆⋘�x
|
46 B | |
| 006146 | generated/1311 Generated |
&Updownarro🎉⨀g7
|
52 B | |
| 006147 | generated/1312 Generated |
FΒ
|
15 B | |
| 006148 | generated/1313 Generated |
=␀↶&O⊛�␊ 0& 𝔭éa&Ze
|
64 B | |
| 006149 | generated/1314 Generated |
𝔇-␉#日Ÿ x日7⥖␉⊁&lF
|
61 B | |
| 006150 | generated/1315 Generated |
0¬ni0⟨U+10FFFF⟩Ÿ &dale
|
29 B | |
| 006151 | generated/1316 Generated |
⩓&≜f"🎉9a00
|
22 B | |
| 006152 | generated/1317 Generated |
-� 🎉Ÿ&vg ¬niÁ␍
|
60 B | |
| 006153 | generated/1318 Generated |
␀g##�=Zé>"⧄-é€
|
45 B | |
| 006154 | generated/1319 Generated |
7Ϝ&models&loopar⟨U+FFFF⟩x'é€␉x↛>
|
73 B | |
| 006157 | generated/1322 Generated |
Ј𗌐
|
17 B | |
| 006158 | generated/1323 Generated |
&dрggFꅝ&re ⟨U+10FFFF⟩"˜Н ␊
|
76 B | |
| 006159 | generated/1324 Generated |
⤣&Kap<hre-7␀;␊€xÍ<
|
38 B | |
| 006161 | generated/1326 Generated |
␊&varsupsetneé0é日␊f&U
|
25 B | |
| 006162 | generated/1327 Generated |
&I=&el>="0&qsc日
|
17 B | |
| 006165 | generated/1330 Generated |
⟨U+10FFFF⟩ &o
|
12 B | |
| 006166 | generated/1331 Generated |
⥦f&bulé&Ups…
|
25 B | |
| 006167 | generated/1332 Generated |
⊾=>Af
|
25 B | |
| 006168 | generated/1333 Generated |
Ÿx&d⫀&pr€³𡱋
|
39 B | |
| 006171 | generated/1336 Generated |
9"╟⟨U+10FFFF⟩x>␀␊
|
26 B | |
| 006172 | generated/1337 Generated |
Z␀&hba
|
6 B | |
| 006173 | generated/1338 Generated |
#<⪑é>� x&sd#␀>#Ÿ-
|
37 B | |
| 006175 | generated/1340 Generated |
&backprŸF␍a�xⅅ&impe&Eq
|
38 B | |
| 006176 | generated/1341 Generated |
fx␍xŬ0-&ap€&&r� &fx µ
|
49 B | |
| 006177 | generated/1342 Generated |
≪07a
|
19 B | |
| 006178 | generated/1343 Generated |
&uu…x␊'␀�
|
30 B | |
| 006179 | generated/1344 Generated |
#é…é⊈k⊕␍
|
30 B | |
| 006180 | generated/1345 Generated |
a0ťZf&foral�>뉨&Lapla&EmptyVerySmallSq
|
78 B | |
| 006182 | generated/1347 Generated |
й>␀é>A…
|
31 B | |
| 006183 | generated/1348 Generated |
␀⪖�x&␀␀⟨U+FFFF⟩x␉x&rar 𩝄
|
53 B | |
| 006184 | generated/1349 Generated |
🎉>&x� -€x␉&swarr
|
55 B | |
| 006185 | generated/1350 Generated |
⟨U+00A0⟩⇐␀99A "&hookrig"f
|
30 B | |
| 006186 | generated/1351 Generated |
⊴⃒-'𝔟∃F
|
24 B | |
| 006187 | generated/1352 Generated |
Z&€&fr
|
17 B | |
| 006188 | generated/1353 Generated |
xδ⟨U+00A0⟩g�x
|
27 B | |
| 006189 | generated/1354 Generated |
&r𝔩7&rpa'␊␊ ⌊🎉#-
|
33 B | |
| 006190 | generated/1355 Generated |
& €<#a#&n␍>⇐&Neg
|
55 B | |
| 006191 | generated/1356 Generated |
#&tscg␍>F
|
18 B | |
| 006192 | generated/1357 Generated |
a&Ka" xg ⟨U+10FFFF⟩
|
36 B | |
| 006194 | generated/1359 Generated |
&Ocir€€x"9&¬invb=Ÿx&circledR"0&afr�g
|
70 B | |
| 006195 | generated/1360 Generated |
&S␉>␊ &B&␀-7="⟨U+00A0⟩ ‚&hcirg
|
46 B | |
| 006196 | generated/1361 Generated |
# ⋵␀⨆gZ⋫日⟨U+10FFFF⟩x ≶
|
82 B | |
| 006197 | generated/1362 Generated |
é&maps↣€&␊x�g␊
|
43 B | |
| 006199 | generated/1364 Generated |
é&x&�-Ņ␊�␉x�&rightarrowta7␉#
|
72 B | |
| 006200 | generated/1365 Generated |
;⟨U+FFFF⟩␉g'�␉ ␊&mid
|
36 B | |
| 006201 | generated/1366 Generated |
&siŸ ⟨U+FFFF⟩ >⪿'g&Do⩚𑱿∷
|
77 B | |
| 006202 | generated/1367 Generated |
&sté␊gŸ ʑ
|
29 B | |
| 006203 | generated/1368 Generated |
; ␀≥>A␍fų&'0F7
|
27 B | |
| 006205 | generated/1370 Generated |
x&gel␉ ␀€𝓅Z䰔gg"0
|
57 B | |
| 006206 | generated/1371 Generated |
&Lstf␍>日&VerticalS🎉&Ÿ&Succeeds&
|
44 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