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 |
|---|---|---|---|---|
| 006207 | generated/1372 Generated |
fF&su-f日
|
10 B | |
| 006208 | generated/1373 Generated |
␊&blacktri␍Ð�x日
|
30 B | |
| 006210 | generated/1375 Generated |
x-␍a␍␊&nVD€␊Ax
|
27 B | |
| 006211 | generated/1376 Generated |
&bigw␊é↽ &Do⪗
|
44 B | |
| 006213 | generated/1378 Generated |
&l&
|
16 B | |
| 006215 | generated/1380 Generated |
␍… €&nsube<Z=F&lesges&ge␊
|
41 B | |
| 006216 | generated/1381 Generated |
␍ �𫥧g ' ␉=&lmoustach⋀
|
69 B | |
| 006218 | generated/1383 Generated |
#Aūa⊥␍"䦛
|
40 B | |
| 006219 | generated/1384 Generated |
␍-"␍↶
|
12 B | |
| 006220 | generated/1385 Generated |
𝔯7␊𭥹gω=&nlArr
|
34 B | |
| 006221 | generated/1386 Generated |
␉©<
|
8 B | |
| 006222 | generated/1387 Generated |
␉&日⇂é日⟨U+FFFF⟩ Ÿ€79x
|
45 B | |
| 006223 | generated/1388 Generated |
⩴&le<&
|
17 B | |
| 006224 | generated/1389 Generated |
⇔�
|
19 B | |
| 006226 | generated/1391 Generated |
�#g�𨗜g🎉<0fℬ
|
59 B | |
| 006228 | generated/1393 Generated |
&subsetne␉"掸&impe <<<=
|
37 B | |
| 006229 | generated/1394 Generated |
⟨U+FFFF⟩�&nRightarro>␍␍&lEg→
|
48 B | |
| 006230 | generated/1395 Generated |
�
|
16 B | |
| 006231 | generated/1396 Generated |
=#Ÿ ±Z<=&⫐
|
25 B | |
| 006232 | generated/1397 Generated |
;é=␀&ldr鶺ℌ€␍<
|
27 B | |
| 006233 | generated/1398 Generated |
⩼&seswar⟨U+00A0⟩f'␍='�x&éZ
|
38 B | |
| 006234 | generated/1399 Generated |
<;-7→�g"9␀#
|
39 B | |
| 006235 | generated/1400 Generated |
␊x⟨U+00A0⟩&Precedes🎉�
|
27 B | |
| 006236 | generated/1401 Generated |
Z�&l�日&x⟨U+FFFF⟩⩸
|
52 B | |
| 006237 | generated/1402 Generated |
日&tZ␍&Usf& ℩&␀=
|
31 B | |
| 006238 | generated/1403 Generated |
␉␊&Lcaro&nsu&ReverseEle&pA#⇏"é
|
63 B | |
| 006239 | generated/1404 Generated |
&&nsupse;€f⟨U+10FFFF⟩ f▪⇇f�⩽0F
|
65 B | |
| 006240 | generated/1405 Generated |
Z&lbrac#&Eogo日� '␉&⟨U+00A0⟩x
|
40 B | |
| 006241 | generated/1406 Generated |
&ori 0𝔔7;
|
21 B | |
| 006242 | generated/1407 Generated |
&p9Ϝ"a&␍9=7⟿
|
28 B | |
| 006243 | generated/1408 Generated |
&NotGrF&ffr日&ug␊
|
36 B | |
| 006244 | generated/1409 Generated |
f⪓␊0&v≢М
|
26 B | |
| 006245 | generated/1410 Generated |
9>⊳7Z𝕜
|
28 B | |
| 006246 | generated/1411 Generated |
&rpa€♪F&Down⪃#Z'
|
41 B | |
| 006248 | generated/1413 Generated |
𱣌#&les-#𗇉#𝕘gFð
|
56 B | |
| 006249 | generated/1414 Generated |
a⥋x&swA>&>0𝔳
|
28 B | |
| 006250 | generated/1415 Generated |
𝕔⇐¹&SucceedsTild9&supm
|
41 B | |
| 006251 | generated/1416 Generated |
&x€
|
5 B | |
| 006252 | generated/1417 Generated |
␍x&gs&isi0"🎉&Righ
|
20 B | |
| 006253 | generated/1418 Generated |
&eque€𝕌'&ccupsϑ𝔏f# &r
|
41 B | |
| 006254 | generated/1419 Generated |
g🎉�g>f&␊&"&d⨣>
|
63 B | |
| 006255 | generated/1420 Generated |
x␉␍&plustwo𡀎>Z𝓊🎉🎉Ÿa␍
|
52 B | |
| 006256 | generated/1421 Generated |
ℸ⟨U+10FFFF⟩ 0ƅ ␉"⟨U+FFFF⟩
|
46 B | |
| 006257 | generated/1422 Generated |
␀Z⇚🎉∦x⟼7&d
|
38 B | |
| 006258 | generated/1423 Generated |
g&Vf
|
12 B | |
| 006259 | generated/1424 Generated |
⨂�€xxZ
|
43 B | |
| 006260 | generated/1425 Generated |
⟨U+10FFFF⟩x-ff␊ &oti🎉7x&varsu0日
|
47 B | |
| 006261 | generated/1426 Generated |
'7x€Z日Zg⫬''0⦷🎉
|
39 B | |
| 006263 | generated/1428 Generated |
7 &suf;
|
7 B | |
| 006264 | generated/1429 Generated |
<␊𔖯g&x&lϑ␀'␍"}␍
|
75 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