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 |
|---|---|---|---|---|
| 006385 | generated/1550 Generated |
␍ &rr& ;🗖g
|
42 B | |
| 006386 | generated/1551 Generated |
≁␍�g0Z'…␊⟨U+10FFFF⟩⟨U+FFFF⟩
|
60 B | |
| 006387 | generated/1552 Generated |
⟨U+00AD⟩&sce&a&epsiZ⩱�x
|
46 B | |
| 006388 | generated/1553 Generated |
fр␉
|
7 B | |
| 006390 | generated/1555 Generated |
'#fg;€日€&yopf
|
45 B | |
| 006392 | generated/1557 Generated |
Z&boxv␉␍⌌±🎉A Ġ&Les
|
46 B | |
| 006393 | generated/1558 Generated |
a&Abreve&B#x g
|
22 B | |
| 006394 | generated/1559 Generated |
<&NotPr&or𘫹
|
27 B | |
| 006395 | generated/1560 Generated |
🎉ýℌ⊐€f#-
|
51 B | |
| 006396 | generated/1561 Generated |
a日=⨹🎉& 0' ⩚'&frac1&supp
|
44 B | |
| 006397 | generated/1562 Generated |
x↓␊𡀡
|
22 B | |
| 006398 | generated/1563 Generated |
␀␍FF␍aZ∞&⟨U+FFFF⟩€'⊔︀Ÿxx
|
41 B | |
| 006399 | generated/1564 Generated |
€Z🎉𝒲g€f
|
35 B | |
| 006400 | generated/1565 Generated |
€↾ξ
|
14 B | |
| 006401 | generated/1566 Generated |
FgFa🎉gϕ≄&eqsim
|
47 B | |
| 006402 | generated/1567 Generated |
⤂<g␉&b∳♂&&LeftAngleBraZ&Rsf𮘀gZ
|
79 B | |
| 006404 | generated/1569 Generated |
ℏ'⤍€&homtht#<╖
|
39 B | |
| 006405 | generated/1570 Generated |
'-␊&Itilde0g≳g⥬&supseteqŸ&nvrt
|
78 B | |
| 006406 | generated/1571 Generated |
鹾g&Lang9&bacZ
|
19 B | |
| 006407 | generated/1572 Generated |
&ff𦶁g€⟨U+2063⟩␀&␉F&Shor&CciA 𘔪
|
49 B | |
| 006408 | generated/1573 Generated |
Z␀ℋ7F$␉ é€x&plus␊x
|
48 B | |
| 006409 | generated/1574 Generated |
⊔9⌋7=;&subse�⥪a-
|
54 B | |
| 006410 | generated/1575 Generated |
日⤍&boxUR␍ >␉#…
|
46 B | |
| 006411 | generated/1576 Generated |
&co␉␀&cupo⋳�g🎉'日�x"
|
41 B | |
| 006412 | generated/1577 Generated |
'€gg &bo"<␊&Subs¨Z&Ema� 9
|
63 B | |
| 006413 | generated/1578 Generated |
�␉&up⟨U+00A0⟩
|
22 B | |
| 006414 | generated/1579 Generated |
␀f♥"';"Z
|
18 B | |
| 006415 | generated/1580 Generated |
&RightDownVecto� ˝<�⋞é0&T⎵␍
|
86 B | |
| 006416 | generated/1581 Generated |
⟨U+00AD⟩#F
|
7 B | |
| 006418 | generated/1583 Generated |
7␉"f🎉">q⟨U+FFFF⟩&FilledVerySmaZ␍&uhf
|
49 B | |
| 006419 | generated/1584 Generated |
9⇏=x�#Z&om日'a�9␊
|
57 B | |
| 006420 | generated/1585 Generated |
9&permx&scircŸ 🎉�ℳ␀𤸶g
|
59 B | |
| 006421 | generated/1586 Generated |
␉�g⟺𧰤-␉x=△
|
66 B | |
| 006422 | generated/1587 Generated |
␊€⟨U+10FFFF⟩xé␍ ⫆0&rra
|
37 B | |
| 006423 | generated/1588 Generated |
&supsetneqq…x7�␊
|
29 B | |
| 006424 | generated/1589 Generated |
&lH0␉> ⫤- 𩪯gg&L␍0f'
|
58 B | |
| 006425 | generated/1590 Generated |
-∁␀" =f0⟨U+00A0⟩&Not&fe∷⨼-🎉
|
47 B | |
| 006426 | generated/1591 Generated |
a>⇒±99Z�
|
27 B | |
| 006427 | generated/1592 Generated |
Ш<⋏�a
|
30 B | |
| 006428 | generated/1593 Generated |
�𝔬
|
14 B | |
| 006430 | generated/1595 Generated |
0&nva␉0'
|
9 B | |
| 006431 | generated/1596 Generated |
�␍ ⊞#"≫&Le贁gé&NotPrecedeg&pre7
|
97 B | |
| 006432 | generated/1597 Generated |
#F; ␊&laq�g<g␍
|
52 B | |
| 006434 | generated/1599 Generated |
◯&l&;&rightharpo↫⟨…x'�&minus&ra
|
66 B | |
| 006435 | generated/1600 Generated |
␀🎉-=Ь'&Zdot'␍
|
23 B | |
| 006436 | generated/1601 Generated |
⟨U+10FFFF⟩日 a&LessSlantE;é𝕡&d&oro'
|
50 B | |
| 006437 | generated/1602 Generated |
F� ⨌&&d▓…&cup"
|
38 B | |
| 006438 | generated/1603 Generated |
&l&␀x'&c𥩥&≕Z
|
45 B | |
| 006440 | generated/1605 Generated |
;𓀻g- &blacktriangleright&dArg
|
61 B | |
| 006441 | generated/1606 Generated |
€x7<ℯ日␉g>␍⊗€x篓ćA
|
66 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