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 |
|---|---|---|---|---|
| 002354 | html5lib/namedEntities/1947 html5lib-tests |
&equals
|
7 B | |
| 002355 | html5lib/namedEntities/1948 html5lib-tests |
=
|
8 B | |
| 002356 | html5lib/namedEntities/1949 html5lib-tests |
&equest
|
7 B | |
| 002357 | html5lib/namedEntities/1950 html5lib-tests |
≟
|
8 B | |
| 002358 | html5lib/namedEntities/1951 html5lib-tests |
&equiv
|
6 B | |
| 002359 | html5lib/namedEntities/1952 html5lib-tests |
≡
|
7 B | |
| 002360 | html5lib/namedEntities/1953 html5lib-tests |
&equivDD
|
8 B | |
| 002361 | html5lib/namedEntities/1954 html5lib-tests |
⩸
|
9 B | |
| 002362 | html5lib/namedEntities/1955 html5lib-tests |
&eqvparsl
|
9 B | |
| 002363 | html5lib/namedEntities/1956 html5lib-tests |
⧥
|
10 B | |
| 002364 | html5lib/namedEntities/1957 html5lib-tests |
&erDot
|
6 B | |
| 002365 | html5lib/namedEntities/1958 html5lib-tests |
≓
|
7 B | |
| 002366 | html5lib/namedEntities/1959 html5lib-tests |
&erarr
|
6 B | |
| 002367 | html5lib/namedEntities/1960 html5lib-tests |
⥱
|
7 B | |
| 002368 | html5lib/namedEntities/1961 html5lib-tests |
&escr
|
5 B | |
| 002369 | html5lib/namedEntities/1962 html5lib-tests |
ℯ
|
6 B | |
| 002370 | html5lib/namedEntities/1963 html5lib-tests |
&esdot
|
6 B | |
| 002371 | html5lib/namedEntities/1964 html5lib-tests |
≐
|
7 B | |
| 002372 | html5lib/namedEntities/1965 html5lib-tests |
&esim
|
5 B | |
| 002373 | html5lib/namedEntities/1966 html5lib-tests |
≂
|
6 B | |
| 002374 | html5lib/namedEntities/1967 html5lib-tests |
&eta
|
4 B | |
| 002375 | html5lib/namedEntities/1968 html5lib-tests |
η
|
5 B | |
| 002376 | html5lib/namedEntities/1969 html5lib-tests |
ð
|
4 B | |
| 002377 | html5lib/namedEntities/1970 html5lib-tests |
ð
|
5 B | |
| 002378 | html5lib/namedEntities/1971 html5lib-tests |
ë
|
5 B | |
| 002379 | html5lib/namedEntities/1972 html5lib-tests |
ë
|
6 B | |
| 002380 | html5lib/namedEntities/1973 html5lib-tests |
&euro
|
5 B | |
| 002381 | html5lib/namedEntities/1974 html5lib-tests |
€
|
6 B | |
| 002382 | html5lib/namedEntities/1975 html5lib-tests |
&excl
|
5 B | |
| 002383 | html5lib/namedEntities/1976 html5lib-tests |
!
|
6 B | |
| 002384 | html5lib/namedEntities/1977 html5lib-tests |
&exist
|
6 B | |
| 002385 | html5lib/namedEntities/1978 html5lib-tests |
∃
|
7 B | |
| 002386 | html5lib/namedEntities/1979 html5lib-tests |
&expectation
|
12 B | |
| 002387 | html5lib/namedEntities/1980 html5lib-tests |
ℰ
|
13 B | |
| 002388 | html5lib/namedEntities/1981 html5lib-tests |
&exponentiale
|
13 B | |
| 002389 | html5lib/namedEntities/1982 html5lib-tests |
ⅇ
|
14 B | |
| 002390 | html5lib/namedEntities/1983 html5lib-tests |
&fallingdotseq
|
14 B | |
| 002391 | html5lib/namedEntities/1984 html5lib-tests |
≒
|
15 B | |
| 002392 | html5lib/namedEntities/1985 html5lib-tests |
&fcy
|
4 B | |
| 002393 | html5lib/namedEntities/1986 html5lib-tests |
ф
|
5 B | |
| 002394 | html5lib/namedEntities/1987 html5lib-tests |
&female
|
7 B | |
| 002395 | html5lib/namedEntities/1988 html5lib-tests |
♀
|
8 B | |
| 002396 | html5lib/namedEntities/1989 html5lib-tests |
&ffilig
|
7 B | |
| 002397 | html5lib/namedEntities/1990 html5lib-tests |
ffi
|
8 B | |
| 002398 | html5lib/namedEntities/1991 html5lib-tests |
&fflig
|
6 B | |
| 002399 | html5lib/namedEntities/1992 html5lib-tests |
ff
|
7 B | |
| 002400 | html5lib/namedEntities/1993 html5lib-tests |
&ffllig
|
7 B | |
| 002401 | html5lib/namedEntities/1994 html5lib-tests |
ffl
|
8 B | |
| 002402 | html5lib/namedEntities/1995 html5lib-tests |
&ffr
|
4 B | |
| 002403 | html5lib/namedEntities/1996 html5lib-tests |
𝔣
|
5 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