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 |
|---|---|---|---|---|
| 005000 | generated/0165 Generated |
🎉🎉␉
|
9 B | |
| 005001 | generated/0166 Generated |
&wf7g
|
23 B | |
| 005002 | generated/0167 Generated |
|
10 B | |
| 005003 | generated/0168 Generated |
F🎉#日&dH€⋎
|
31 B | |
| 005004 | generated/0169 Generated |
⟨U+10FFFF⟩&c€ 0
|
17 B | |
| 005005 | generated/0170 Generated |
-;Z🎉<#&ultrié7f'␉
|
30 B | |
| 005006 | generated/0171 Generated |
&Shor⪨␍␀g␉x
|
26 B | |
| 005007 | generated/0172 Generated |
日х9&imag0é␉x=𝕐=Z⟨U+00A0⟩ о
|
51 B | |
| 005008 | generated/0173 Generated |
日日𢗹�␊&thiℜ⋭"� ␀ℜ
|
70 B | |
| 005009 | generated/0174 Generated |
&sqsube&>Ÿ;A
|
28 B | |
| 005010 | generated/0175 Generated |
𝓁&NotTildeT&cudar'
|
32 B | |
| 005011 | generated/0176 Generated |
a� &Cayley␍x𰵵&emé0€␊ xx
|
55 B | |
| 005012 | generated/0177 Generated |
␉Z␍"�xgŸx&ruluhℝГ␊x&is⟨U+10FFFF⟩ ⟨U+FFFF⟩&lneqq
|
94 B | |
| 005013 | generated/0178 Generated |
⟨U+FFFF⟩ ĩ𝕎0␉
|
24 B | |
| 005014 | generated/0179 Generated |
-"⫳#&eqsim
|
18 B | |
| 005015 | generated/0180 Generated |
€&hamilt␊ĵ&loa�&e␍␉
|
36 B | |
| 005016 | generated/0181 Generated |
gʼn↓&€0&top𣏏Ī#é<
|
56 B | |
| 005017 | generated/0182 Generated |
f&supsetneqq#'&cu;ⶄga
|
38 B | |
| 005018 | generated/0183 Generated |
&rlha&v
|
7 B | |
| 005019 | generated/0184 Generated |
€�🎉<
|
19 B | |
| 005020 | generated/0185 Generated |
♠"�€&rZ𝔘…&ati𝔗òZ␍gg
|
70 B | |
| 005021 | generated/0186 Generated |
gZ�g&lea
|
30 B | |
| 005022 | generated/0187 Generated |
�xf&Ax€&xcup日⟨U+10FFFF⟩ 0=;9ax
|
45 B | |
| 005023 | generated/0188 Generated |
␀fZ&ogtx'é␉;ĝ∝&ntg␉x ␉
|
62 B | |
| 005024 | generated/0189 Generated |
x⊳&NotL␍gff␀
|
36 B | |
| 005025 | generated/0190 Generated |
9 0␍&n␀хf
|
40 B | |
| 005026 | generated/0191 Generated |
a&osc&c⟨U+00A0⟩x-&lmous&KH;🎉日
|
40 B | |
| 005027 | generated/0192 Generated |
g⦕®&Aci&su␍𝒲9€&pr
|
51 B | |
| 005028 | generated/0193 Generated |
;&𝔼F␉␊€x
|
21 B | |
| 005029 | generated/0194 Generated |
⟨U+00A0⟩ gx&rar␊日<&iiiin日⟨U+10FFFF⟩x>
|
53 B | |
| 005030 | generated/0195 Generated |
A日#␊
|
13 B | |
| 005031 | generated/0196 Generated |
␀gŸ f7⊞'
|
38 B | |
| 005032 | generated/0197 Generated |
⟨U+10FFFF⟩x&So� ;␀7␊
|
27 B | |
| 005033 | generated/0198 Generated |
日�x
|
7 B | |
| 005034 | generated/0199 Generated |
<␊∔#⟨U+00A0⟩␀F aFg␍⫧
|
46 B | |
| 005035 | generated/0200 Generated |
>fx=Z0g⊅g
|
47 B | |
| 005036 | generated/0201 Generated |
&nsu&sq ␊
|
12 B | |
| 005037 | generated/0202 Generated |
日7␍7Z🎉⦅ϑ&varka-⟨U+200D⟩
|
54 B | |
| 005038 | generated/0203 Generated |
€x&mapst> &nexists
|
22 B | |
| 005039 | generated/0204 Generated |
g␉⋹␊=€&Larr
|
28 B | |
| 005040 | generated/0205 Generated |
&SquareSubsetEqua&cudarx⌋␉<;gf日99
|
63 B | |
| 005041 | generated/0206 Generated |
g=g↺&sda
|
40 B | |
| 005042 | generated/0207 Generated |
&pre&osoZ9>&Z␊x-a⊋‚� ℋ
|
64 B | |
| 005043 | generated/0208 Generated |
�09
|
20 B | |
| 005044 | generated/0209 Generated |
g'"⟨U+200D⟩␉"⨱&Hfr-&xx7<
|
46 B | |
| 005045 | generated/0210 Generated |
x⎰≮x'🎉␀<F
|
47 B | |
| 005046 | generated/0211 Generated |
Z'␊&maltefZ&
|
12 B | |
| 005047 | generated/0212 Generated |
🎉&pitcg&⋛🎉¸
|
47 B | |
| 005048 | generated/0213 Generated |
Z&Vsc
|
5 B | |
| 005049 | generated/0214 Generated |
&La⟨U+FFFF⟩ &frac38
|
18 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