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
2,241 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 006434 | generated/1599 Generated |
◯&l&;&rightharpo↫⟨…x'�&minus&ra
|
66 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 | |
| 006439 | generated/1604 Generated |
␊␍␀␉Fg
|
23 B | |
| 006440 | generated/1605 Generated |
;𓀻g- &blacktriangleright&dArg
|
61 B | |
| 006441 | generated/1606 Generated |
€x7<ℯ日␉g>␍⊗€x篓ćA
|
66 B | |
| 006442 | generated/1607 Generated |
0='𭔯␍A=77-9
|
23 B | |
| 006443 | generated/1608 Generated |
Ax⟨U+10FFFF⟩&in⥕␍->ãa7
|
63 B | |
| 006444 | generated/1609 Generated |
�␊xf�&Z⟼=&longright
|
70 B | |
| 006446 | generated/1611 Generated |
⦴g€ ↮#⊝&#␍g�&prop&DownLeftV
|
112 B | |
| 006447 | generated/1612 Generated |
␍#&rotimes⊵🎉g�
|
60 B | |
| 006448 | generated/1613 Generated |
;g
|
10 B | |
| 006449 | generated/1614 Generated |
&GreaterTil0ag⅝⟶𩲃g⦓"𑠳g
|
75 B | |
| 006450 | generated/1615 Generated |
&Bc�&n⟨U+10FFFF⟩ º{g é0f0=
|
53 B | |
| 006451 | generated/1616 Generated |
␀&box␀
|
15 B | |
| 006452 | generated/1617 Generated |
A ␉ℏ🎉🎉#×&fork&se&E€
|
43 B | |
| 006453 | generated/1618 Generated |
;↛⟨U+2061⟩↣-🎉␊&
|
38 B | |
| 006454 | generated/1619 Generated |
>&us"&boxuL�⟨U+FFFF⟩=∸=F⟨U+FFFF⟩Ѕ␍
|
49 B | |
| 006456 | generated/1621 Generated |
a␍x&lopf€g
|
23 B | |
| 006458 | generated/1623 Generated |
…x
|
6 B | |
| 006459 | generated/1624 Generated |
7␉∈&sfro=␀&lh⋟⋗7<
|
53 B | |
| 006460 | generated/1625 Generated |
␍fx
|
12 B | |
| 006461 | generated/1626 Generated |
↭>🎉x␀⪩�é&Ograf0
|
46 B | |
| 006462 | generated/1627 Generated |
␍␍⋏␉ &lhard"…␉é覜…
|
47 B | |
| 006465 | generated/1630 Generated |
⟨U+2062⟩🎉␍g␍é<'␍&pZ⟨U+10FFFF⟩ €
|
61 B | |
| 006468 | generated/1633 Generated |
≡"=&r&=>=#&triang-&box
|
54 B | |
| 006469 | generated/1634 Generated |
⋍�x�x& &E␊&b Ê翫
|
61 B | |
| 006470 | generated/1635 Generated |
␉>&u⍼⇤#''≐&⎴#&&Scy
|
51 B | |
| 006471 | generated/1636 Generated |
␊␉€g&utilde&l<
|
33 B | |
| 006474 | generated/1639 Generated |
�g␉>F-␊f#żx€g
|
46 B | |
| 006475 | generated/1640 Generated |
"9Õ␊Ax#🎉#ℭ€
|
56 B | |
| 006477 | generated/1642 Generated |
&awc␍€
|
18 B | |
| 006478 | generated/1643 Generated |
#9&angx&squar⟨U+FFFF⟩
|
21 B | |
| 006479 | generated/1644 Generated |
=⥩
|
18 B | |
| 006480 | generated/1645 Generated |
g⟨U+FFFF⟩ 9fxg'
|
38 B | |
| 006481 | generated/1646 Generated |
&NotTildeFug�g-⋉
|
50 B | |
| 006482 | generated/1647 Generated |
f<=Ax<␍&n␉f0Z
|
16 B | |
| 006484 | generated/1649 Generated |
⟨U+10FFFF⟩⟨U+00A0⟩␊€⋔€&oh&bé-0F
|
41 B | |
| 006485 | generated/1650 Generated |
a;␊>€#
|
17 B | |
| 006486 | generated/1651 Generated |
␀x&€ ␍g␉ é>
|
43 B | |
| 006487 | generated/1652 Generated |
𒒨g>⟨U+2062⟩�
|
53 B | |
| 006488 | generated/1653 Generated |
"日&a9'a␉␀≍日&'="
|
35 B | |
| 006489 | generated/1654 Generated |
A&backco日𝔸🎉␊
|
34 B | |
| 006490 | generated/1655 Generated |
9&b<&horbar␉7
|
23 B | |
| 006491 | generated/1656 Generated |
&su&cuv�x␊𣭓>&ca
|
25 B | |
| 006492 | generated/1657 Generated |
7»&�x<⃒&lg€⟨U+10FFFF⟩x¹F7< &leftl&
|
76 B | |
| 006493 | generated/1658 Generated |
g�␍ 🎉␊&supdsF>f🎉… >⩼A 日g
|
76 B | |
| 006494 | generated/1659 Generated |
9A&&Fourx'&-␍
|
20 B | |
| 006495 | generated/1660 Generated |
␀␍aZ
|
14 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