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 |
|---|---|---|---|---|
| 003004 | html5lib/namedEntities/2597 html5lib-tests |
&lrhar
|
6 B | |
| 003005 | html5lib/namedEntities/2598 html5lib-tests |
⇋
|
7 B | |
| 003006 | html5lib/namedEntities/2599 html5lib-tests |
&lrhard
|
7 B | |
| 003007 | html5lib/namedEntities/2600 html5lib-tests |
⥭
|
8 B | |
| 003008 | html5lib/namedEntities/2601 html5lib-tests |
&lrm
|
4 B | |
| 003009 | html5lib/namedEntities/2602 html5lib-tests |
⟨U+200E⟩
|
5 B | |
| 003010 | html5lib/namedEntities/2603 html5lib-tests |
&lrtri
|
6 B | |
| 003011 | html5lib/namedEntities/2604 html5lib-tests |
⊿
|
7 B | |
| 003012 | html5lib/namedEntities/2605 html5lib-tests |
&lsaquo
|
7 B | |
| 003013 | html5lib/namedEntities/2606 html5lib-tests |
‹
|
8 B | |
| 003014 | html5lib/namedEntities/2607 html5lib-tests |
&lscr
|
5 B | |
| 003015 | html5lib/namedEntities/2608 html5lib-tests |
𝓁
|
6 B | |
| 003016 | html5lib/namedEntities/2609 html5lib-tests |
&lsh
|
4 B | |
| 003017 | html5lib/namedEntities/2610 html5lib-tests |
↰
|
5 B | |
| 003018 | html5lib/namedEntities/2611 html5lib-tests |
&lsim
|
5 B | |
| 003019 | html5lib/namedEntities/2612 html5lib-tests |
≲
|
6 B | |
| 003020 | html5lib/namedEntities/2613 html5lib-tests |
&lsime
|
6 B | |
| 003021 | html5lib/namedEntities/2614 html5lib-tests |
⪍
|
7 B | |
| 003022 | html5lib/namedEntities/2615 html5lib-tests |
&lsimg
|
6 B | |
| 003023 | html5lib/namedEntities/2616 html5lib-tests |
⪏
|
7 B | |
| 003024 | html5lib/namedEntities/2617 html5lib-tests |
&lsqb
|
5 B | |
| 003025 | html5lib/namedEntities/2618 html5lib-tests |
[
|
6 B | |
| 003026 | html5lib/namedEntities/2619 html5lib-tests |
&lsquo
|
6 B | |
| 003027 | html5lib/namedEntities/2620 html5lib-tests |
‘
|
7 B | |
| 003028 | html5lib/namedEntities/2621 html5lib-tests |
&lsquor
|
7 B | |
| 003029 | html5lib/namedEntities/2622 html5lib-tests |
‚
|
8 B | |
| 003030 | html5lib/namedEntities/2623 html5lib-tests |
&lstrok
|
7 B | |
| 003031 | html5lib/namedEntities/2624 html5lib-tests |
ł
|
8 B | |
| 003032 | html5lib/namedEntities/2625 html5lib-tests |
<
|
3 B | |
| 003033 | html5lib/namedEntities/2626 html5lib-tests |
<
|
4 B | |
| 003034 | html5lib/namedEntities/2627 html5lib-tests |
⪦
|
6 B | |
| 003035 | html5lib/namedEntities/2628 html5lib-tests |
⩹
|
7 B | |
| 003036 | html5lib/namedEntities/2629 html5lib-tests |
⋖
|
7 B | |
| 003037 | html5lib/namedEntities/2630 html5lib-tests |
⋋
|
8 B | |
| 003038 | html5lib/namedEntities/2631 html5lib-tests |
⋉
|
8 B | |
| 003039 | html5lib/namedEntities/2632 html5lib-tests |
⥶
|
8 B | |
| 003040 | html5lib/namedEntities/2633 html5lib-tests |
⩻
|
9 B | |
| 003041 | html5lib/namedEntities/2634 html5lib-tests |
⦖
|
8 B | |
| 003042 | html5lib/namedEntities/2635 html5lib-tests |
◃
|
6 B | |
| 003043 | html5lib/namedEntities/2636 html5lib-tests |
⊴
|
7 B | |
| 003044 | html5lib/namedEntities/2637 html5lib-tests |
◂
|
7 B | |
| 003045 | html5lib/namedEntities/2638 html5lib-tests |
&lurdshar
|
9 B | |
| 003046 | html5lib/namedEntities/2639 html5lib-tests |
⥊
|
10 B | |
| 003047 | html5lib/namedEntities/2640 html5lib-tests |
&luruhar
|
8 B | |
| 003048 | html5lib/namedEntities/2641 html5lib-tests |
⥦
|
9 B | |
| 003049 | html5lib/namedEntities/2642 html5lib-tests |
&lvertneqq
|
10 B | |
| 003050 | html5lib/namedEntities/2643 html5lib-tests |
≨︀
|
11 B | |
| 003051 | html5lib/namedEntities/2644 html5lib-tests |
&lvnE
|
5 B | |
| 003052 | html5lib/namedEntities/2645 html5lib-tests |
≨︀
|
6 B | |
| 003053 | html5lib/namedEntities/2646 html5lib-tests |
&mDDot
|
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