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 |
|---|---|---|---|---|
| 002300 | html5lib/namedEntities/1893 html5lib-tests |
&el
|
3 B | |
| 002301 | html5lib/namedEntities/1894 html5lib-tests |
⪙
|
4 B | |
| 002302 | html5lib/namedEntities/1895 html5lib-tests |
&elinters
|
9 B | |
| 002303 | html5lib/namedEntities/1896 html5lib-tests |
⏧
|
10 B | |
| 002304 | html5lib/namedEntities/1897 html5lib-tests |
&ell
|
4 B | |
| 002305 | html5lib/namedEntities/1898 html5lib-tests |
ℓ
|
5 B | |
| 002306 | html5lib/namedEntities/1899 html5lib-tests |
&els
|
4 B | |
| 002307 | html5lib/namedEntities/1900 html5lib-tests |
⪕
|
5 B | |
| 002308 | html5lib/namedEntities/1901 html5lib-tests |
&elsdot
|
7 B | |
| 002309 | html5lib/namedEntities/1902 html5lib-tests |
⪗
|
8 B | |
| 002310 | html5lib/namedEntities/1903 html5lib-tests |
&emacr
|
6 B | |
| 002311 | html5lib/namedEntities/1904 html5lib-tests |
ē
|
7 B | |
| 002312 | html5lib/namedEntities/1905 html5lib-tests |
&empty
|
6 B | |
| 002313 | html5lib/namedEntities/1906 html5lib-tests |
∅
|
7 B | |
| 002314 | html5lib/namedEntities/1907 html5lib-tests |
&emptyset
|
9 B | |
| 002315 | html5lib/namedEntities/1908 html5lib-tests |
∅
|
10 B | |
| 002316 | html5lib/namedEntities/1909 html5lib-tests |
&emptyv
|
7 B | |
| 002317 | html5lib/namedEntities/1910 html5lib-tests |
∅
|
8 B | |
| 002318 | html5lib/namedEntities/1911 html5lib-tests |
&emsp
|
5 B | |
| 002319 | html5lib/namedEntities/1912 html5lib-tests |
&emsp13
|
7 B | |
| 002320 | html5lib/namedEntities/1913 html5lib-tests |
|
8 B | |
| 002321 | html5lib/namedEntities/1914 html5lib-tests |
&emsp14
|
7 B | |
| 002322 | html5lib/namedEntities/1915 html5lib-tests |
|
8 B | |
| 002323 | html5lib/namedEntities/1916 html5lib-tests |
|
6 B | |
| 002324 | html5lib/namedEntities/1917 html5lib-tests |
&eng
|
4 B | |
| 002325 | html5lib/namedEntities/1918 html5lib-tests |
ŋ
|
5 B | |
| 002326 | html5lib/namedEntities/1919 html5lib-tests |
&ensp
|
5 B | |
| 002327 | html5lib/namedEntities/1920 html5lib-tests |
|
6 B | |
| 002328 | html5lib/namedEntities/1921 html5lib-tests |
&eogon
|
6 B | |
| 002329 | html5lib/namedEntities/1922 html5lib-tests |
ę
|
7 B | |
| 002330 | html5lib/namedEntities/1923 html5lib-tests |
&eopf
|
5 B | |
| 002331 | html5lib/namedEntities/1924 html5lib-tests |
𝕖
|
6 B | |
| 002332 | html5lib/namedEntities/1925 html5lib-tests |
&epar
|
5 B | |
| 002333 | html5lib/namedEntities/1926 html5lib-tests |
⋕
|
6 B | |
| 002334 | html5lib/namedEntities/1927 html5lib-tests |
&eparsl
|
7 B | |
| 002335 | html5lib/namedEntities/1928 html5lib-tests |
⧣
|
8 B | |
| 002336 | html5lib/namedEntities/1929 html5lib-tests |
&eplus
|
6 B | |
| 002337 | html5lib/namedEntities/1930 html5lib-tests |
⩱
|
7 B | |
| 002338 | html5lib/namedEntities/1931 html5lib-tests |
&epsi
|
5 B | |
| 002339 | html5lib/namedEntities/1932 html5lib-tests |
ε
|
6 B | |
| 002340 | html5lib/namedEntities/1933 html5lib-tests |
&epsilon
|
8 B | |
| 002341 | html5lib/namedEntities/1934 html5lib-tests |
ε
|
9 B | |
| 002342 | html5lib/namedEntities/1935 html5lib-tests |
&epsiv
|
6 B | |
| 002343 | html5lib/namedEntities/1936 html5lib-tests |
ϵ
|
7 B | |
| 002344 | html5lib/namedEntities/1937 html5lib-tests |
&eqcirc
|
7 B | |
| 002345 | html5lib/namedEntities/1938 html5lib-tests |
≖
|
8 B | |
| 002346 | html5lib/namedEntities/1939 html5lib-tests |
&eqcolon
|
8 B | |
| 002347 | html5lib/namedEntities/1940 html5lib-tests |
≕
|
9 B | |
| 002348 | html5lib/namedEntities/1941 html5lib-tests |
&eqsim
|
6 B | |
| 002349 | html5lib/namedEntities/1942 html5lib-tests |
≂
|
7 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