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 |
|---|---|---|---|---|
| 003554 | html5lib/namedEntities/3147 html5lib-tests |
∥
|
5 B | |
| 003555 | html5lib/namedEntities/3148 html5lib-tests |
¶
|
5 B | |
| 003556 | html5lib/namedEntities/3149 html5lib-tests |
¶
|
6 B | |
| 003557 | html5lib/namedEntities/3150 html5lib-tests |
∥
|
10 B | |
| 003558 | html5lib/namedEntities/3151 html5lib-tests |
&parsim
|
7 B | |
| 003559 | html5lib/namedEntities/3152 html5lib-tests |
⫳
|
8 B | |
| 003560 | html5lib/namedEntities/3153 html5lib-tests |
&parsl
|
6 B | |
| 003561 | html5lib/namedEntities/3154 html5lib-tests |
⫽
|
7 B | |
| 003562 | html5lib/namedEntities/3155 html5lib-tests |
&part
|
5 B | |
| 003563 | html5lib/namedEntities/3156 html5lib-tests |
∂
|
6 B | |
| 003564 | html5lib/namedEntities/3157 html5lib-tests |
&pcy
|
4 B | |
| 003565 | html5lib/namedEntities/3158 html5lib-tests |
п
|
5 B | |
| 003566 | html5lib/namedEntities/3159 html5lib-tests |
&percnt
|
7 B | |
| 003567 | html5lib/namedEntities/3160 html5lib-tests |
%
|
8 B | |
| 003568 | html5lib/namedEntities/3161 html5lib-tests |
&period
|
7 B | |
| 003569 | html5lib/namedEntities/3162 html5lib-tests |
.
|
8 B | |
| 003570 | html5lib/namedEntities/3163 html5lib-tests |
&permil
|
7 B | |
| 003571 | html5lib/namedEntities/3164 html5lib-tests |
‰
|
8 B | |
| 003572 | html5lib/namedEntities/3165 html5lib-tests |
&perp
|
5 B | |
| 003573 | html5lib/namedEntities/3166 html5lib-tests |
⊥
|
6 B | |
| 003574 | html5lib/namedEntities/3167 html5lib-tests |
&pertenk
|
8 B | |
| 003575 | html5lib/namedEntities/3168 html5lib-tests |
‱
|
9 B | |
| 003576 | html5lib/namedEntities/3169 html5lib-tests |
&pfr
|
4 B | |
| 003577 | html5lib/namedEntities/3170 html5lib-tests |
𝔭
|
5 B | |
| 003578 | html5lib/namedEntities/3171 html5lib-tests |
&phi
|
4 B | |
| 003579 | html5lib/namedEntities/3172 html5lib-tests |
φ
|
5 B | |
| 003580 | html5lib/namedEntities/3173 html5lib-tests |
&phiv
|
5 B | |
| 003581 | html5lib/namedEntities/3174 html5lib-tests |
ϕ
|
6 B | |
| 003582 | html5lib/namedEntities/3175 html5lib-tests |
&phmmat
|
7 B | |
| 003583 | html5lib/namedEntities/3176 html5lib-tests |
ℳ
|
8 B | |
| 003584 | html5lib/namedEntities/3177 html5lib-tests |
&phone
|
6 B | |
| 003585 | html5lib/namedEntities/3178 html5lib-tests |
☎
|
7 B | |
| 003586 | html5lib/namedEntities/3179 html5lib-tests |
&pi
|
3 B | |
| 003587 | html5lib/namedEntities/3180 html5lib-tests |
π
|
4 B | |
| 003588 | html5lib/namedEntities/3181 html5lib-tests |
&pitchfork
|
10 B | |
| 003589 | html5lib/namedEntities/3182 html5lib-tests |
⋔
|
11 B | |
| 003590 | html5lib/namedEntities/3183 html5lib-tests |
&piv
|
4 B | |
| 003591 | html5lib/namedEntities/3184 html5lib-tests |
ϖ
|
5 B | |
| 003592 | html5lib/namedEntities/3185 html5lib-tests |
&planck
|
7 B | |
| 003593 | html5lib/namedEntities/3186 html5lib-tests |
ℏ
|
8 B | |
| 003594 | html5lib/namedEntities/3187 html5lib-tests |
&planckh
|
8 B | |
| 003595 | html5lib/namedEntities/3188 html5lib-tests |
ℎ
|
9 B | |
| 003596 | html5lib/namedEntities/3189 html5lib-tests |
&plankv
|
7 B | |
| 003597 | html5lib/namedEntities/3190 html5lib-tests |
ℏ
|
8 B | |
| 003598 | html5lib/namedEntities/3191 html5lib-tests |
&plus
|
5 B | |
| 003599 | html5lib/namedEntities/3192 html5lib-tests |
+
|
6 B | |
| 003600 | html5lib/namedEntities/3193 html5lib-tests |
&plusacir
|
9 B | |
| 003601 | html5lib/namedEntities/3194 html5lib-tests |
⨣
|
10 B | |
| 003602 | html5lib/namedEntities/3195 html5lib-tests |
&plusb
|
6 B | |
| 003603 | html5lib/namedEntities/3196 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