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
5,931 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 005065 | generated/0230 Generated |
⊝�␉ a⌕é"€#
|
31 B | |
| 005066 | generated/0231 Generated |
⟨U+FFFF⟩&boxvl9𝔶⧃СF;"€�
|
49 B | |
| 005068 | generated/0233 Generated |
é⟨U+10FFFF⟩&lrarr␍&g⪞&þAx
|
58 B | |
| 005069 | generated/0234 Generated |
␀x'9⟨U+FFFF⟩ 7& 7↗�
|
44 B | |
| 005070 | generated/0235 Generated |
…&gesle9=␍=é&n&NotLeftTriangle&sqsu
|
51 B | |
| 005071 | generated/0236 Generated |
fgZ␍Z7€é-<� &Vc⨧€
|
41 B | |
| 005072 | generated/0237 Generated |
<�Ÿxg&Leftrightarrow€&nsup"F" ∖f
|
77 B | |
| 005073 | generated/0238 Generated |
<␊"g&GreaterFul'a&e<--␊␊
|
45 B | |
| 005074 | generated/0239 Generated |
␍ &Em& f
|
23 B | |
| 005075 | generated/0240 Generated |
🎉<<"€ ⇀␊x"#␉>Ÿ␉
|
42 B | |
| 005077 | generated/0242 Generated |
0⟨U+00A0⟩ #&egrav'… -;&V;
|
36 B | |
| 005078 | generated/0243 Generated |
&p&rbrk� 日&eDDé⟨U+10FFFF⟩ ␍␊Ζ
|
60 B | |
| 005079 | generated/0244 Generated |
&c␍ & &A␀&epsi␍⟨U+FFFF⟩- Ň
|
45 B | |
| 005080 | generated/0245 Generated |
↷"0€ &A0& 🎉=x&np7⟨U+00A0⟩fF
|
50 B | |
| 005082 | generated/0247 Generated |
⅙#égagg␍ℚg>&Ope
|
65 B | |
| 005083 | generated/0248 Generated |
⪯̸'噐'&nprec>
|
33 B | |
| 005084 | generated/0249 Generated |
>"𧍮€#>␍Ÿ €🎉∫
|
52 B | |
| 005085 | generated/0250 Generated |
99፲é␉⋆⩘␍�é�x␍x9#F
|
50 B | |
| 005087 | generated/0252 Generated |
0<-Zx🎉=&lefta&angmsd x
|
44 B | |
| 005089 | generated/0254 Generated |
x𘬘€&H¬nié␀…
|
39 B | |
| 005091 | generated/0256 Generated |
9ιн␉é ␊
|
19 B | |
| 005092 | generated/0257 Generated |
⟨U+10FFFF⟩x€&u&Grea& a&Breve&ä&andaaa
|
58 B | |
| 005093 | generated/0258 Generated |
#>"g;␀&supse
|
21 B | |
| 005094 | generated/0259 Generated |
-▾=␍x␍ ⩈a=⟨U+10FFFF⟩x g␍€
|
70 B | |
| 005095 | generated/0260 Generated |
␀&&Fopf&r-␉<'␍�g␉7
|
39 B | |
| 005096 | generated/0261 Generated |
␊ g⇔Z;
|
22 B | |
| 005099 | generated/0264 Generated |
>fg&planc�x g␍
|
41 B | |
| 005100 | generated/0265 Generated |
&b<⟨U+10FFFF⟩ =⇥a&csup-&s⟨U+00A0⟩'␉Z⊘x"
|
47 B | |
| 005101 | generated/0266 Generated |
-&CloseCurlyDou=␉<␀>ůZ<�
|
40 B | |
| 005102 | generated/0267 Generated |
&lcaé🎉␉f &angs↩<␀␊g'é…x
|
47 B | |
| 005104 | generated/0269 Generated |
�x⨂𬪫g� ⊏'
|
52 B | |
| 005105 | generated/0270 Generated |
=##=&Un&va…&P≈'⇄¢9g&f
|
76 B | |
| 005107 | generated/0272 Generated |
𤞂g⋍&col⟨U+00A0⟩Zf␀#�␊ &lhard⟨U+00A0⟩
|
54 B | |
| 005108 | generated/0273 Generated |
x&kcyмx日
|
24 B | |
| 005110 | generated/0275 Generated |
é🎉g7g日𝕝'�x&lesg⊛9>"⟨U+FFFF⟩&
|
67 B | |
| 005111 | generated/0276 Generated |
…&E�日⌖⟨U+00A0⟩ég7ℎ'#⟨U+FFFF⟩ g
|
75 B | |
| 005112 | generated/0277 Generated |
x&l␉&plu→∋Ÿ €
|
48 B | |
| 005113 | generated/0278 Generated |
-␉0#&odiv "⟸🎉
|
58 B | |
| 005114 | generated/0279 Generated |
'-"fx⧫�xx0#&zo
|
36 B | |
| 005115 | generated/0280 Generated |
œ␊>𝕛Ŵ&i'9²«
|
38 B | |
| 005117 | generated/0282 Generated |
<🎉Aϒ€␍g日a&boxVrf&&x0
|
57 B | |
| 005118 | generated/0283 Generated |
⥙日
|
22 B | |
| 005119 | generated/0284 Generated |
⥓𝔡&Yopfa�'∈
|
47 B | |
| 005121 | generated/0286 Generated |
␊&succeq␀&gE日␍fFAx&Ntil
|
46 B | |
| 005122 | generated/0287 Generated |
&YoFé€f⫐Z�x9␊⟨U+00A0⟩
|
45 B | |
| 005124 | generated/0289 Generated |
Ѓ␀日=-▵7&ì␍�🎉&l⟨U+10FFFF⟩
|
58 B | |
| 005125 | generated/0290 Generated |
&x&r&GreaterFul;␉␀̑🍮
|
47 B | |
| 005126 | generated/0291 Generated |
g&DcΙ&ascr…␊xg#🎉'⋏0&ugrav
|
88 B | |
| 005127 | generated/0292 Generated |
g'€𠨗⪬︀&NotSquareSupers
|
55 B | |
| 005128 | generated/0293 Generated |
>=#0↦x€
|
41 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