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 |
|---|---|---|---|---|
| 005400 | generated/0565 Generated |
&≍
|
10 B | |
| 005401 | generated/0566 Generated |
9…x&dw0Axga<�€🎉F␊x␊
|
59 B | |
| 005402 | generated/0567 Generated |
&nA␍x⦲>ℕ<␀&r
|
40 B | |
| 005403 | generated/0568 Generated |
␊ ⨖
|
14 B | |
| 005404 | generated/0569 Generated |
g𥘝€=␀&&&mcy0є
|
44 B | |
| 005405 | generated/0570 Generated |
"&nvF⟨U+00A0⟩ F"g␀�x€↙в
|
51 B | |
| 005406 | generated/0571 Generated |
g␉';앐7-␊x
|
27 B | |
| 005407 | generated/0572 Generated |
日╪日A&im…日;␉&UpArrowDown␀€⧄Z
|
54 B | |
| 005408 | generated/0573 Generated |
&lbb9¥⤂;&lha#0⪗
|
33 B | |
| 005409 | generated/0574 Generated |
␀#␍𣰉&ę&models=ag"&awconi␊F
|
57 B | |
| 005410 | generated/0575 Generated |
&hy⨼⟨U+FFFF⟩日𦤻␍ &x&ee␊€
|
50 B | |
| 005411 | generated/0576 Generated |
#&␍é;a-'&nvlÞ日␍␉€
|
32 B | |
| 005412 | generated/0577 Generated |
∦␉…a␀�🎉␊x> A
|
72 B | |
| 005413 | generated/0578 Generated |
&ffr<日␊⇄&Double€x0␊&SubsetEqu�xf⥿"€
|
64 B | |
| 005414 | generated/0579 Generated |
& 9∑-&sigma␊x0␍日g&s␊∟
|
74 B | |
| 005415 | generated/0580 Generated |
⫁;Ν日⟨U+10FFFF⟩<⟨U+00A0⟩ ⩉⋙␉g�
|
68 B | |
| 005416 | generated/0581 Generated |
7&min𝔞 &angmsdad&napo>7g€&∣g ϵ
|
89 B | |
| 005417 | generated/0582 Generated |
ℯ'&LeftCeilin⅝g&low␉7#␉ag7€x
|
80 B | |
| 005418 | generated/0583 Generated |
;f␉␍0&nsho#-&x⟨U+10FFFF⟩&order
|
37 B | |
| 005419 | generated/0584 Generated |
⦝&primeЩg␊
|
34 B | |
| 005420 | generated/0585 Generated |
aљé#&awconi&api␉⟨U+10FFFF⟩ 7-&box'
|
39 B | |
| 005421 | generated/0586 Generated |
␊a␊x�␀ &#g␀f�
|
50 B | |
| 005422 | generated/0587 Generated |
=⧍�g
|
22 B | |
| 005423 | generated/0588 Generated |
Z⪵␉>gg
|
39 B | |
| 005424 | generated/0589 Generated |
x&m
|
21 B | |
| 005425 | generated/0590 Generated |
#𝔤␉f␉
|
12 B | |
| 005426 | generated/0591 Generated |
7␀
|
2 B | |
| 005427 | generated/0592 Generated |
"f€€9␉07F&l⇃'Ē
|
69 B | |
| 005428 | generated/0593 Generated |
7ã&Leftrig&<&I &gci-日9ax
|
41 B | |
| 005429 | generated/0594 Generated |
A
|
14 B | |
| 005430 | generated/0595 Generated |
♯⊴9Z🎉&sx
|
49 B | |
| 005431 | generated/0596 Generated |
Ÿx &rb-⋎a"Z&efr
|
38 B | |
| 005432 | generated/0597 Generated |
"␍xé&nvDash␍
|
29 B | |
| 005433 | generated/0598 Generated |
Κ∖0␊⋓␀
|
35 B | |
| 005434 | generated/0599 Generated |
�
|
9 B | |
| 005435 | generated/0600 Generated |
x-9éć␀-
|
15 B | |
| 005436 | generated/0601 Generated |
7ј&rmoust'�␍a
|
28 B | |
| 005437 | generated/0602 Generated |
<F&FilledVeryS&SH7⟨U+00A0⟩␍F&cen
|
29 B | |
| 005438 | generated/0603 Generated |
->╬g␉␊␊␉k⇐&abreveA &Invisi
|
75 B | |
| 005439 | generated/0604 Generated |
<𫶡9ꐵ&␍
|
21 B | |
| 005440 | generated/0605 Generated |
"⟨U+FFFF⟩ℤ⟨U+10FFFF⟩◯'#=⪸
|
45 B | |
| 005441 | generated/0606 Generated |
⅞🎉A&>'&hookrig🎉
|
42 B | |
| 005442 | generated/0607 Generated |
a
|
1 B | |
| 005443 | generated/0608 Generated |
⟨U+00A0⟩x7
|
15 B | |
| 005444 | generated/0609 Generated |
=␍"␊x≉x0&RightU⨺♭
|
71 B | |
| 005445 | generated/0610 Generated |
'a
|
2 B | |
| 005446 | generated/0611 Generated |
Ÿ-&Ograv𝔡Z⟨U+FFFF⟩x⊂⃒&Empf€ag
|
53 B | |
| 005447 | generated/0612 Generated |
�é
|
10 B | |
| 005448 | generated/0613 Generated |
␉7�é#'≥&Lmid⟨U+FFFF⟩x&
|
34 B | |
| 005449 | generated/0614 Generated |
Z🎉␀⟨U+FFFF⟩x€
|
17 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