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 |
|---|---|---|---|---|
| 006801 | generated/1966 Generated |
␉ é7🎉�&cŸ&s-7"<;&CirclePla
|
52 B | |
| 006803 | generated/1968 Generated |
␍xF'␍⩖⟨U+FFFF⟩#⫅̸⋢≿⋑
|
54 B | |
| 006804 | generated/1969 Generated |
&n
|
2 B | |
| 006805 | generated/1970 Generated |
⪺"é
|
16 B | |
| 006806 | generated/1971 Generated |
��xτ␀⨍g
|
41 B | |
| 006808 | generated/1973 Generated |
🎉g"•
|
21 B | |
| 006809 | generated/1974 Generated |
&Prim'&boé€┼0
|
48 B | |
| 006810 | generated/1975 Generated |
90🎉⁃␀7␉ €-𨢑⟨U+FFFF⟩⌐⇝g␍&
|
71 B | |
| 006811 | generated/1976 Generated |
␍xZ⥸'&Ov
|
36 B | |
| 006812 | generated/1977 Generated |
"&su&c🎉'𫺵é
|
22 B | |
| 006813 | generated/1978 Generated |
⧍"␉Ÿx&Kap憸&LeftDownVectðF
|
45 B | |
| 006814 | generated/1979 Generated |
>↗;␉x
|
23 B | |
| 006815 | generated/1980 Generated |
⟨U+00A0⟩x0&Diacritical⊗€<␉⟨U+00A0⟩
|
38 B | |
| 006816 | generated/1981 Generated |
&planc␉␀&loz&bl
|
15 B | |
| 006818 | generated/1983 Generated |
␍Z&Nt0=<Ÿ� 日� -f🎉"
|
41 B | |
| 006819 | generated/1984 Generated |
€#⟨U+00A0⟩©␉⟨U+10FFFF⟩x�
|
34 B | |
| 006820 | generated/1985 Generated |
fflf|┌9"&cw;ℋ�&DoubleLongLeftArrow7
|
81 B | |
| 006821 | generated/1986 Generated |
�🎉&or␉0␍=&angm#x&b⤤'€⋖
|
70 B | |
| 006822 | generated/1987 Generated |
Ÿxa␍x␀ϕ&Barwa⤧
|
43 B | |
| 006823 | generated/1988 Generated |
€ &⥋-�-gZ␉é
|
42 B | |
| 006824 | generated/1989 Generated |
x␀日g╛日&Lesé
|
39 B | |
| 006825 | generated/1990 Generated |
&Fourier"'⟨U+10FFFF⟩ gg�x>>∴␍⇌g7
|
91 B | |
| 006826 | generated/1991 Generated |
&ReverseEquilibriu&nsccueÇ&be
|
35 B | |
| 006827 | generated/1992 Generated |
⋁7&na&cir
|
24 B | |
| 006828 | generated/1993 Generated |
&ecirf
|
6 B | |
| 006829 | generated/1994 Generated |
🎉&napi⦆g9=␀│⊝f&eqvparsl␉
|
76 B | |
| 006830 | generated/1995 Generated |
<⥽&hA#0
|
14 B | |
| 006831 | generated/1996 Generated |
�&⊇&veee␊🎉"0�g&…x9𝔽⟨U+FFFF⟩
|
81 B | |
| 006832 | generated/1997 Generated |
⊔&h日&&s␀␀␉
|
34 B | |
| 006833 | generated/1998 Generated |
€␀&nleŸ &quest>>;
|
33 B | |
| 006834 | generated/1999 Generated |
⋁&ygg&qop#◯-
|
40 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