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 |
|---|---|---|---|---|
| 003654 | html5lib/namedEntities/3247 html5lib-tests |
&primes
|
7 B | |
| 003655 | html5lib/namedEntities/3248 html5lib-tests |
ℙ
|
8 B | |
| 003656 | html5lib/namedEntities/3249 html5lib-tests |
&prnE
|
5 B | |
| 003657 | html5lib/namedEntities/3250 html5lib-tests |
⪵
|
6 B | |
| 003658 | html5lib/namedEntities/3251 html5lib-tests |
&prnap
|
6 B | |
| 003659 | html5lib/namedEntities/3252 html5lib-tests |
⪹
|
7 B | |
| 003660 | html5lib/namedEntities/3253 html5lib-tests |
&prnsim
|
7 B | |
| 003661 | html5lib/namedEntities/3254 html5lib-tests |
⋨
|
8 B | |
| 003662 | html5lib/namedEntities/3255 html5lib-tests |
&prod
|
5 B | |
| 003663 | html5lib/namedEntities/3256 html5lib-tests |
∏
|
6 B | |
| 003664 | html5lib/namedEntities/3257 html5lib-tests |
&profalar
|
9 B | |
| 003665 | html5lib/namedEntities/3258 html5lib-tests |
⌮
|
10 B | |
| 003666 | html5lib/namedEntities/3259 html5lib-tests |
&profline
|
9 B | |
| 003667 | html5lib/namedEntities/3260 html5lib-tests |
⌒
|
10 B | |
| 003668 | html5lib/namedEntities/3261 html5lib-tests |
&profsurf
|
9 B | |
| 003669 | html5lib/namedEntities/3262 html5lib-tests |
⌓
|
10 B | |
| 003670 | html5lib/namedEntities/3263 html5lib-tests |
&prop
|
5 B | |
| 003671 | html5lib/namedEntities/3264 html5lib-tests |
∝
|
6 B | |
| 003672 | html5lib/namedEntities/3265 html5lib-tests |
&propto
|
7 B | |
| 003673 | html5lib/namedEntities/3266 html5lib-tests |
∝
|
8 B | |
| 003674 | html5lib/namedEntities/3267 html5lib-tests |
&prsim
|
6 B | |
| 003675 | html5lib/namedEntities/3268 html5lib-tests |
≾
|
7 B | |
| 003676 | html5lib/namedEntities/3269 html5lib-tests |
&prurel
|
7 B | |
| 003677 | html5lib/namedEntities/3270 html5lib-tests |
⊰
|
8 B | |
| 003678 | html5lib/namedEntities/3271 html5lib-tests |
&pscr
|
5 B | |
| 003679 | html5lib/namedEntities/3272 html5lib-tests |
𝓅
|
6 B | |
| 003680 | html5lib/namedEntities/3273 html5lib-tests |
&psi
|
4 B | |
| 003681 | html5lib/namedEntities/3274 html5lib-tests |
ψ
|
5 B | |
| 003682 | html5lib/namedEntities/3275 html5lib-tests |
&puncsp
|
7 B | |
| 003683 | html5lib/namedEntities/3276 html5lib-tests |
|
8 B | |
| 003684 | html5lib/namedEntities/3277 html5lib-tests |
&qfr
|
4 B | |
| 003685 | html5lib/namedEntities/3278 html5lib-tests |
𝔮
|
5 B | |
| 003686 | html5lib/namedEntities/3279 html5lib-tests |
&qint
|
5 B | |
| 003687 | html5lib/namedEntities/3280 html5lib-tests |
⨌
|
6 B | |
| 003688 | html5lib/namedEntities/3281 html5lib-tests |
&qopf
|
5 B | |
| 003689 | html5lib/namedEntities/3282 html5lib-tests |
𝕢
|
6 B | |
| 003690 | html5lib/namedEntities/3283 html5lib-tests |
&qprime
|
7 B | |
| 003691 | html5lib/namedEntities/3284 html5lib-tests |
⁗
|
8 B | |
| 003692 | html5lib/namedEntities/3285 html5lib-tests |
&qscr
|
5 B | |
| 003693 | html5lib/namedEntities/3286 html5lib-tests |
𝓆
|
6 B | |
| 003694 | html5lib/namedEntities/3287 html5lib-tests |
&quaternions
|
12 B | |
| 003695 | html5lib/namedEntities/3288 html5lib-tests |
ℍ
|
13 B | |
| 003696 | html5lib/namedEntities/3289 html5lib-tests |
&quatint
|
8 B | |
| 003697 | html5lib/namedEntities/3290 html5lib-tests |
⨖
|
9 B | |
| 003698 | html5lib/namedEntities/3291 html5lib-tests |
&quest
|
6 B | |
| 003699 | html5lib/namedEntities/3292 html5lib-tests |
?
|
7 B | |
| 003700 | html5lib/namedEntities/3293 html5lib-tests |
&questeq
|
8 B | |
| 003701 | html5lib/namedEntities/3294 html5lib-tests |
≟
|
9 B | |
| 003702 | html5lib/namedEntities/3295 html5lib-tests |
"
|
5 B | |
| 003703 | html5lib/namedEntities/3296 html5lib-tests |
"
|
6 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