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 |
|---|---|---|---|---|
| 002800 | html5lib/namedEntities/2393 html5lib-tests |
&larrhk
|
7 B | |
| 002801 | html5lib/namedEntities/2394 html5lib-tests |
↩
|
8 B | |
| 002802 | html5lib/namedEntities/2395 html5lib-tests |
&larrlp
|
7 B | |
| 002803 | html5lib/namedEntities/2396 html5lib-tests |
↫
|
8 B | |
| 002804 | html5lib/namedEntities/2397 html5lib-tests |
&larrpl
|
7 B | |
| 002805 | html5lib/namedEntities/2398 html5lib-tests |
⤹
|
8 B | |
| 002806 | html5lib/namedEntities/2399 html5lib-tests |
&larrsim
|
8 B | |
| 002807 | html5lib/namedEntities/2400 html5lib-tests |
⥳
|
9 B | |
| 002808 | html5lib/namedEntities/2401 html5lib-tests |
&larrtl
|
7 B | |
| 002809 | html5lib/namedEntities/2402 html5lib-tests |
↢
|
8 B | |
| 002810 | html5lib/namedEntities/2403 html5lib-tests |
&lat
|
4 B | |
| 002811 | html5lib/namedEntities/2404 html5lib-tests |
⪫
|
5 B | |
| 002812 | html5lib/namedEntities/2405 html5lib-tests |
&latail
|
7 B | |
| 002813 | html5lib/namedEntities/2406 html5lib-tests |
⤙
|
8 B | |
| 002814 | html5lib/namedEntities/2407 html5lib-tests |
&late
|
5 B | |
| 002815 | html5lib/namedEntities/2408 html5lib-tests |
⪭
|
6 B | |
| 002816 | html5lib/namedEntities/2409 html5lib-tests |
&lates
|
6 B | |
| 002817 | html5lib/namedEntities/2410 html5lib-tests |
⪭︀
|
7 B | |
| 002818 | html5lib/namedEntities/2411 html5lib-tests |
&lbarr
|
6 B | |
| 002819 | html5lib/namedEntities/2412 html5lib-tests |
⤌
|
7 B | |
| 002820 | html5lib/namedEntities/2413 html5lib-tests |
&lbbrk
|
6 B | |
| 002821 | html5lib/namedEntities/2414 html5lib-tests |
❲
|
7 B | |
| 002822 | html5lib/namedEntities/2415 html5lib-tests |
&lbrace
|
7 B | |
| 002823 | html5lib/namedEntities/2416 html5lib-tests |
{
|
8 B | |
| 002824 | html5lib/namedEntities/2417 html5lib-tests |
&lbrack
|
7 B | |
| 002825 | html5lib/namedEntities/2418 html5lib-tests |
[
|
8 B | |
| 002826 | html5lib/namedEntities/2419 html5lib-tests |
&lbrke
|
6 B | |
| 002827 | html5lib/namedEntities/2420 html5lib-tests |
⦋
|
7 B | |
| 002828 | html5lib/namedEntities/2421 html5lib-tests |
&lbrksld
|
8 B | |
| 002829 | html5lib/namedEntities/2422 html5lib-tests |
⦏
|
9 B | |
| 002830 | html5lib/namedEntities/2423 html5lib-tests |
&lbrkslu
|
8 B | |
| 002831 | html5lib/namedEntities/2424 html5lib-tests |
⦍
|
9 B | |
| 002832 | html5lib/namedEntities/2425 html5lib-tests |
&lcaron
|
7 B | |
| 002833 | html5lib/namedEntities/2426 html5lib-tests |
ľ
|
8 B | |
| 002834 | html5lib/namedEntities/2427 html5lib-tests |
&lcedil
|
7 B | |
| 002835 | html5lib/namedEntities/2428 html5lib-tests |
ļ
|
8 B | |
| 002836 | html5lib/namedEntities/2429 html5lib-tests |
&lceil
|
6 B | |
| 002837 | html5lib/namedEntities/2430 html5lib-tests |
⌈
|
7 B | |
| 002838 | html5lib/namedEntities/2431 html5lib-tests |
&lcub
|
5 B | |
| 002839 | html5lib/namedEntities/2432 html5lib-tests |
{
|
6 B | |
| 002840 | html5lib/namedEntities/2433 html5lib-tests |
&lcy
|
4 B | |
| 002841 | html5lib/namedEntities/2434 html5lib-tests |
л
|
5 B | |
| 002842 | html5lib/namedEntities/2435 html5lib-tests |
&ldca
|
5 B | |
| 002843 | html5lib/namedEntities/2436 html5lib-tests |
⤶
|
6 B | |
| 002844 | html5lib/namedEntities/2437 html5lib-tests |
&ldquo
|
6 B | |
| 002845 | html5lib/namedEntities/2438 html5lib-tests |
“
|
7 B | |
| 002846 | html5lib/namedEntities/2439 html5lib-tests |
&ldquor
|
7 B | |
| 002847 | html5lib/namedEntities/2440 html5lib-tests |
„
|
8 B | |
| 002848 | html5lib/namedEntities/2441 html5lib-tests |
&ldrdhar
|
8 B | |
| 002849 | html5lib/namedEntities/2442 html5lib-tests |
⥧
|
9 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