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 |
|---|---|---|---|---|
| 003500 | html5lib/namedEntities/3093 html5lib-tests |
ω
|
7 B | |
| 003501 | html5lib/namedEntities/3094 html5lib-tests |
&omicron
|
8 B | |
| 003502 | html5lib/namedEntities/3095 html5lib-tests |
ο
|
9 B | |
| 003503 | html5lib/namedEntities/3096 html5lib-tests |
&omid
|
5 B | |
| 003504 | html5lib/namedEntities/3097 html5lib-tests |
⦶
|
6 B | |
| 003505 | html5lib/namedEntities/3098 html5lib-tests |
&ominus
|
7 B | |
| 003506 | html5lib/namedEntities/3099 html5lib-tests |
⊖
|
8 B | |
| 003507 | html5lib/namedEntities/3100 html5lib-tests |
&oopf
|
5 B | |
| 003508 | html5lib/namedEntities/3101 html5lib-tests |
𝕠
|
6 B | |
| 003509 | html5lib/namedEntities/3102 html5lib-tests |
&opar
|
5 B | |
| 003510 | html5lib/namedEntities/3103 html5lib-tests |
⦷
|
6 B | |
| 003511 | html5lib/namedEntities/3104 html5lib-tests |
&operp
|
6 B | |
| 003512 | html5lib/namedEntities/3105 html5lib-tests |
⦹
|
7 B | |
| 003513 | html5lib/namedEntities/3106 html5lib-tests |
&oplus
|
6 B | |
| 003514 | html5lib/namedEntities/3107 html5lib-tests |
⊕
|
7 B | |
| 003515 | html5lib/namedEntities/3108 html5lib-tests |
&or
|
3 B | |
| 003516 | html5lib/namedEntities/3109 html5lib-tests |
∨
|
4 B | |
| 003517 | html5lib/namedEntities/3110 html5lib-tests |
&orarr
|
6 B | |
| 003518 | html5lib/namedEntities/3111 html5lib-tests |
↻
|
7 B | |
| 003519 | html5lib/namedEntities/3112 html5lib-tests |
&ord
|
4 B | |
| 003520 | html5lib/namedEntities/3113 html5lib-tests |
⩝
|
5 B | |
| 003521 | html5lib/namedEntities/3114 html5lib-tests |
&order
|
6 B | |
| 003522 | html5lib/namedEntities/3115 html5lib-tests |
ℴ
|
7 B | |
| 003523 | html5lib/namedEntities/3116 html5lib-tests |
&orderof
|
8 B | |
| 003524 | html5lib/namedEntities/3117 html5lib-tests |
ℴ
|
9 B | |
| 003525 | html5lib/namedEntities/3118 html5lib-tests |
ª
|
5 B | |
| 003526 | html5lib/namedEntities/3119 html5lib-tests |
ª
|
6 B | |
| 003527 | html5lib/namedEntities/3120 html5lib-tests |
º
|
5 B | |
| 003528 | html5lib/namedEntities/3121 html5lib-tests |
º
|
6 B | |
| 003529 | html5lib/namedEntities/3122 html5lib-tests |
&origof
|
7 B | |
| 003530 | html5lib/namedEntities/3123 html5lib-tests |
⊶
|
8 B | |
| 003531 | html5lib/namedEntities/3124 html5lib-tests |
&oror
|
5 B | |
| 003532 | html5lib/namedEntities/3125 html5lib-tests |
⩖
|
6 B | |
| 003533 | html5lib/namedEntities/3126 html5lib-tests |
&orslope
|
8 B | |
| 003534 | html5lib/namedEntities/3127 html5lib-tests |
⩗
|
9 B | |
| 003535 | html5lib/namedEntities/3128 html5lib-tests |
&orv
|
4 B | |
| 003536 | html5lib/namedEntities/3129 html5lib-tests |
⩛
|
5 B | |
| 003537 | html5lib/namedEntities/3130 html5lib-tests |
&oscr
|
5 B | |
| 003538 | html5lib/namedEntities/3131 html5lib-tests |
ℴ
|
6 B | |
| 003539 | html5lib/namedEntities/3132 html5lib-tests |
ø
|
7 B | |
| 003540 | html5lib/namedEntities/3133 html5lib-tests |
ø
|
8 B | |
| 003541 | html5lib/namedEntities/3134 html5lib-tests |
&osol
|
5 B | |
| 003542 | html5lib/namedEntities/3135 html5lib-tests |
⊘
|
6 B | |
| 003543 | html5lib/namedEntities/3136 html5lib-tests |
õ
|
7 B | |
| 003544 | html5lib/namedEntities/3137 html5lib-tests |
õ
|
8 B | |
| 003545 | html5lib/namedEntities/3138 html5lib-tests |
&otimes
|
7 B | |
| 003546 | html5lib/namedEntities/3139 html5lib-tests |
⊗
|
8 B | |
| 003547 | html5lib/namedEntities/3140 html5lib-tests |
&otimesas
|
9 B | |
| 003548 | html5lib/namedEntities/3141 html5lib-tests |
⨶
|
10 B | |
| 003549 | html5lib/namedEntities/3142 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