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 |
|---|---|---|---|---|
| 005350 | generated/0515 Generated |
€日␀<0␉xf�Ş
|
31 B | |
| 005351 | generated/0516 Generated |
⟨U+00A0⟩x;␀日Fa<
|
23 B | |
| 005352 | generated/0517 Generated |
⟨U+00A0⟩�…F≳
|
35 B | |
| 005353 | generated/0518 Generated |
␍%'⟨U+10FFFF⟩g
|
41 B | |
| 005354 | generated/0519 Generated |
⊥7'>&f<A␉ <Ÿ&Qo
|
33 B | |
| 005355 | generated/0520 Generated |
-�&␉␍�xFIJ日&circlearrow&&vdash&sg⟨U+10FFFF⟩
|
90 B | |
| 005356 | generated/0521 Generated |
Ÿx�#g🎉
|
23 B | |
| 005357 | generated/0522 Generated |
&capb9
|
14 B | |
| 005358 | generated/0523 Generated |
x€&downha &tA
|
28 B | |
| 005359 | generated/0524 Generated |
0&nexist7&RightUpa␉⤍⊚↺;␉x🎉⟨U+FFFF⟩日
|
67 B | |
| 005360 | generated/0525 Generated |
7⟨U+00A0⟩x␉=… x⟨U+10FFFF⟩樄g'&␊
|
38 B | |
| 005361 | generated/0526 Generated |
&pr&7Z
|
6 B | |
| 005362 | generated/0527 Generated |
|
1 B | |
| 005363 | generated/0528 Generated |
##<🎉␉ú␉≷&tiZ&hfr␀Ÿ<
|
43 B | |
| 005364 | generated/0529 Generated |
¯␍⟨U+10FFFF⟩x
|
16 B | |
| 005365 | generated/0530 Generated |
g <日&Ium⎱�ga
|
58 B | |
| 005366 | generated/0531 Generated |
日;=g� #€f&we↛ℍ🎉⟨U+00A0⟩x
|
75 B | |
| 005367 | generated/0532 Generated |
-⊿⟨<⤨日
|
57 B | |
| 005368 | generated/0533 Generated |
&Or€&jmat␉&nleftar$&NotEx9ZF� &NotSubsetEqualf
|
63 B | |
| 005369 | generated/0534 Generated |
&Omega#
|
7 B | |
| 005370 | generated/0535 Generated |
�
|
10 B | |
| 005371 | generated/0536 Generated |
€ g日"&Ch日&twohe&ccedi&Vert#éaF
|
65 B | |
| 005372 | generated/0537 Generated |
⦌⟨U+FFFF⟩x=◼f#�&Ycy
|
58 B | |
| 005373 | generated/0538 Generated |
=
|
1 B | |
| 005374 | generated/0539 Generated |
=0
|
2 B | |
| 005375 | generated/0540 Generated |
&DoubleContourInx×&eDDo&� &odbl&C␉&L'&rarrbf;
|
81 B | |
| 005376 | generated/0541 Generated |
�&et⊕#␉&lé>€␀
|
39 B | |
| 005377 | generated/0542 Generated |
日€
|
7 B | |
| 005378 | generated/0543 Generated |
éx#-␉<&e␊x0&nvxô<
|
36 B | |
| 005379 | generated/0544 Generated |
=a
|
2 B | |
| 005380 | generated/0545 Generated |
é
|
2 B | |
| 005381 | generated/0546 Generated |
&boF␀€f⊥␍␉ꆴ7aЇ
|
43 B | |
| 005382 | generated/0547 Generated |
&x␉é�A
|
19 B | |
| 005383 | generated/0548 Generated |
0⌈日&vDas
|
31 B | |
| 005384 | generated/0549 Generated |
A␍g9𝕠&d97
|
25 B | |
| 005385 | generated/0550 Generated |
<⟨U+10FFFF⟩ ␊⩕9誢日;&⪉⟨U+00A0⟩
|
54 B | |
| 005386 | generated/0551 Generated |
&o&delt𘦩é⩾␍ℙ&ges€␍⟨U+00A0⟩ x&ur&ati␀é
|
62 B | |
| 005387 | generated/0552 Generated |
⫛&c&Circle&ec∁&7∣빅gx
|
54 B | |
| 005388 | generated/0553 Generated |
&b≅�&Kcedi�Ÿ#é#g
|
65 B | |
| 005389 | generated/0554 Generated |
A ┬𝔽0==␉9␍Ÿ
|
42 B | |
| 005390 | generated/0555 Generated |
&utr䧇;⫘
|
22 B | |
| 005391 | generated/0556 Generated |
'³�日&Mfr &Sum&é
|
43 B | |
| 005392 | generated/0557 Generated |
� <&&veº∓a␍&u&acyF#
|
55 B | |
| 005393 | generated/0558 Generated |
>␊Ё9𮌃gg9
|
46 B | |
| 005394 | generated/0559 Generated |
&plankv��xAx;␍'Žg␉ g
|
60 B | |
| 005395 | generated/0560 Generated |
€⋁≑Ç&Not␉ŸF␉…F
|
56 B | |
| 005396 | generated/0561 Generated |
␍&lo⟨U+10FFFF⟩ €&acix-␊␀gû<
|
44 B | |
| 005397 | generated/0562 Generated |
>0日€≫⃒ℐg&tr=ŸxԻ>
|
58 B | |
| 005398 | generated/0563 Generated |
␊xŲ#a␊␍
|
16 B | |
| 005399 | generated/0564 Generated |
␊><␉-€⨼f␀&angmsda&CircleDot␉-⦻Z
|
61 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