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 |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 005443 | generated/0608 Generated |
⟨U+00A0⟩x7
|
15 B | |
| 005444 | generated/0609 Generated |
=␍"␊x≉x0&RightU⨺♭
|
71 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 | |
| 005450 | generated/0615 Generated |
9<␍x日…x&-"⇆
|
58 B | |
| 005451 | generated/0616 Generated |
&realp0🎉𡷱g⅙9&l=⟨U+00A0⟩␉⪯̸&lam
|
61 B | |
| 005452 | generated/0617 Generated |
&�g&ccapZé'日&x�␀&co-
|
79 B | |
| 005453 | generated/0618 Generated |
'<␀<␊日��&lharu␊↻<␊
|
58 B | |
| 005454 | generated/0619 Generated |
"␍&n"␉🎉x—9€
|
24 B | |
| 005455 | generated/0620 Generated |
'⪿0🎉⋠日&gacu€
|
42 B | |
| 005456 | generated/0621 Generated |
&m␉…é␊ 日🎉
|
23 B | |
| 005457 | generated/0622 Generated |
�x🎉⟨U+10FFFF⟩
|
17 B | |
| 005459 | generated/0624 Generated |
␀g� 㥘&updownar-f
|
38 B | |
| 005460 | generated/0625 Generated |
⥿��x0&rc␊␍
|
30 B | |
| 005461 | generated/0626 Generated |
짧-🎉'€&
|
20 B | |
| 005462 | generated/0627 Generated |
␉т& 'fF&H9f🎉;
|
33 B | |
| 005463 | generated/0628 Generated |
&I&is&f><g𠂚a;ů<&Tscg␉
|
59 B | |
| 005464 | generated/0629 Generated |
�xfg␍f
|
23 B | |
| 005465 | generated/0630 Generated |
⟨U+00A0⟩&␊xx<∸
|
33 B | |
| 005466 | generated/0631 Generated |
Z€Z�0≽Š␀€&eqslant␊␉gf&Gamma⦪
|
81 B | |
| 005467 | generated/0632 Generated |
␍*> 77=
|
20 B | |
| 005468 | generated/0633 Generated |
日␍ &Medi␊
|
14 B | |
| 005469 | generated/0634 Generated |
ZŸ 7⊔fAx&�x7=>'⟫
|
51 B | |
| 005470 | generated/0635 Generated |
🎉f&Y↿7␀␉я-&l
|
34 B | |
| 005471 | generated/0636 Generated |
#… ␀&a𢳡ég>�-
|
51 B | |
| 005472 | generated/0637 Generated |
-&&R⩲Z-�x=×FАg
|
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