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 |
|---|---|---|---|---|
| 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 | |
| 002404 | html5lib/namedEntities/1997 html5lib-tests |
&filig
|
6 B | |
| 002405 | html5lib/namedEntities/1998 html5lib-tests |
fi
|
7 B | |
| 002406 | html5lib/namedEntities/1999 html5lib-tests |
&fjlig
|
6 B | |
| 002407 | html5lib/namedEntities/2000 html5lib-tests |
fj
|
7 B | |
| 002408 | html5lib/namedEntities/2001 html5lib-tests |
&flat
|
5 B | |
| 002409 | html5lib/namedEntities/2002 html5lib-tests |
♭
|
6 B | |
| 002410 | html5lib/namedEntities/2003 html5lib-tests |
&fllig
|
6 B | |
| 002411 | html5lib/namedEntities/2004 html5lib-tests |
fl
|
7 B | |
| 002412 | html5lib/namedEntities/2005 html5lib-tests |
&fltns
|
6 B | |
| 002413 | html5lib/namedEntities/2006 html5lib-tests |
▱
|
7 B | |
| 002414 | html5lib/namedEntities/2007 html5lib-tests |
&fnof
|
5 B | |
| 002415 | html5lib/namedEntities/2008 html5lib-tests |
ƒ
|
6 B | |
| 002416 | html5lib/namedEntities/2009 html5lib-tests |
&fopf
|
5 B | |
| 002417 | html5lib/namedEntities/2010 html5lib-tests |
𝕗
|
6 B | |
| 002418 | html5lib/namedEntities/2011 html5lib-tests |
&forall
|
7 B | |
| 002419 | html5lib/namedEntities/2012 html5lib-tests |
∀
|
8 B | |
| 002420 | html5lib/namedEntities/2013 html5lib-tests |
&fork
|
5 B | |
| 002421 | html5lib/namedEntities/2014 html5lib-tests |
⋔
|
6 B | |
| 002422 | html5lib/namedEntities/2015 html5lib-tests |
&forkv
|
6 B | |
| 002423 | html5lib/namedEntities/2016 html5lib-tests |
⫙
|
7 B | |
| 002424 | html5lib/namedEntities/2017 html5lib-tests |
&fpartint
|
9 B | |
| 002425 | html5lib/namedEntities/2018 html5lib-tests |
⨍
|
10 B | |
| 002426 | html5lib/namedEntities/2019 html5lib-tests |
½
|
7 B | |
| 002427 | html5lib/namedEntities/2020 html5lib-tests |
½
|
8 B | |
| 002428 | html5lib/namedEntities/2021 html5lib-tests |
&frac13
|
7 B | |
| 002429 | html5lib/namedEntities/2022 html5lib-tests |
⅓
|
8 B | |
| 002430 | html5lib/namedEntities/2023 html5lib-tests |
¼
|
7 B | |
| 002431 | html5lib/namedEntities/2024 html5lib-tests |
¼
|
8 B | |
| 002432 | html5lib/namedEntities/2025 html5lib-tests |
&frac15
|
7 B | |
| 002433 | html5lib/namedEntities/2026 html5lib-tests |
⅕
|
8 B | |
| 002434 | html5lib/namedEntities/2027 html5lib-tests |
&frac16
|
7 B | |
| 002435 | html5lib/namedEntities/2028 html5lib-tests |
⅙
|
8 B | |
| 002436 | html5lib/namedEntities/2029 html5lib-tests |
&frac18
|
7 B | |
| 002437 | html5lib/namedEntities/2030 html5lib-tests |
⅛
|
8 B | |
| 002438 | html5lib/namedEntities/2031 html5lib-tests |
&frac23
|
7 B | |
| 002439 | html5lib/namedEntities/2032 html5lib-tests |
⅔
|
8 B | |
| 002440 | html5lib/namedEntities/2033 html5lib-tests |
&frac25
|
7 B | |
| 002441 | html5lib/namedEntities/2034 html5lib-tests |
⅖
|
8 B | |
| 002442 | html5lib/namedEntities/2035 html5lib-tests |
¾
|
7 B | |
| 002443 | html5lib/namedEntities/2036 html5lib-tests |
¾
|
8 B | |
| 002444 | html5lib/namedEntities/2037 html5lib-tests |
&frac35
|
7 B | |
| 002445 | html5lib/namedEntities/2038 html5lib-tests |
⅗
|
8 B | |
| 002446 | html5lib/namedEntities/2039 html5lib-tests |
&frac38
|
7 B | |
| 002447 | html5lib/namedEntities/2040 html5lib-tests |
⅜
|
8 B | |
| 002448 | html5lib/namedEntities/2041 html5lib-tests |
&frac45
|
7 B | |
| 002449 | html5lib/namedEntities/2042 html5lib-tests |
⅘
|
8 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