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 |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| 005047 | generated/0212 Generated |
🎉&pitcg&⋛🎉¸
|
47 B | |
| 005049 | generated/0214 Generated |
&La⟨U+FFFF⟩ &frac38
|
18 B | |
| 005050 | generated/0215 Generated |
␀;#⟼⟨U+00A0⟩ 7&mapstouf𝔵'F&scp&«#
|
51 B | |
| 005051 | generated/0216 Generated |
🎉Ÿ&>f
|
12 B | |
| 005055 | generated/0220 Generated |
日⩾日9⦚␇x⧂&wcir0␊€
|
60 B | |
| 005056 | generated/0221 Generated |
F⪯�x �⊥&xd
|
37 B | |
| 005057 | generated/0222 Generated |
|
10 B | |
| 005058 | generated/0223 Generated |
0gZ7xgŸx&js�x00"␉↿
|
72 B | |
| 005059 | generated/0224 Generated |
"Ÿx&topforx&s&l>&permil=<-"0"
|
49 B | |
| 005060 | generated/0225 Generated |
F;⅓7€xFé𝕍g&THOR↡&rtri>
|
52 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