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 |
|---|---|---|---|---|
| 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 | |
| 003054 | html5lib/namedEntities/2647 html5lib-tests |
∺
|
7 B | |
| 003055 | html5lib/namedEntities/2648 html5lib-tests |
¯
|
5 B | |
| 003056 | html5lib/namedEntities/2649 html5lib-tests |
¯
|
6 B | |
| 003057 | html5lib/namedEntities/2650 html5lib-tests |
&male
|
5 B | |
| 003058 | html5lib/namedEntities/2651 html5lib-tests |
♂
|
6 B | |
| 003059 | html5lib/namedEntities/2652 html5lib-tests |
&malt
|
5 B | |
| 003060 | html5lib/namedEntities/2653 html5lib-tests |
✠
|
6 B | |
| 003061 | html5lib/namedEntities/2654 html5lib-tests |
&maltese
|
8 B | |
| 003062 | html5lib/namedEntities/2655 html5lib-tests |
✠
|
9 B | |
| 003063 | html5lib/namedEntities/2656 html5lib-tests |
&map
|
4 B | |
| 003064 | html5lib/namedEntities/2657 html5lib-tests |
↦
|
5 B | |
| 003065 | html5lib/namedEntities/2658 html5lib-tests |
&mapsto
|
7 B | |
| 003066 | html5lib/namedEntities/2659 html5lib-tests |
↦
|
8 B | |
| 003067 | html5lib/namedEntities/2660 html5lib-tests |
&mapstodown
|
11 B | |
| 003068 | html5lib/namedEntities/2661 html5lib-tests |
↧
|
12 B | |
| 003069 | html5lib/namedEntities/2662 html5lib-tests |
&mapstoleft
|
11 B | |
| 003070 | html5lib/namedEntities/2663 html5lib-tests |
↤
|
12 B | |
| 003071 | html5lib/namedEntities/2664 html5lib-tests |
&mapstoup
|
9 B | |
| 003072 | html5lib/namedEntities/2665 html5lib-tests |
↥
|
10 B | |
| 003073 | html5lib/namedEntities/2666 html5lib-tests |
&marker
|
7 B | |
| 003074 | html5lib/namedEntities/2667 html5lib-tests |
▮
|
8 B | |
| 003075 | html5lib/namedEntities/2668 html5lib-tests |
&mcomma
|
7 B | |
| 003076 | html5lib/namedEntities/2669 html5lib-tests |
⨩
|
8 B | |
| 003077 | html5lib/namedEntities/2670 html5lib-tests |
&mcy
|
4 B | |
| 003078 | html5lib/namedEntities/2671 html5lib-tests |
м
|
5 B | |
| 003079 | html5lib/namedEntities/2672 html5lib-tests |
&mdash
|
6 B | |
| 003080 | html5lib/namedEntities/2673 html5lib-tests |
—
|
7 B | |
| 003081 | html5lib/namedEntities/2674 html5lib-tests |
&measuredangle
|
14 B | |
| 003082 | html5lib/namedEntities/2675 html5lib-tests |
∡
|
15 B | |
| 003083 | html5lib/namedEntities/2676 html5lib-tests |
&mfr
|
4 B | |
| 003084 | html5lib/namedEntities/2677 html5lib-tests |
𝔪
|
5 B | |
| 003085 | html5lib/namedEntities/2678 html5lib-tests |
&mho
|
4 B | |
| 003086 | html5lib/namedEntities/2679 html5lib-tests |
℧
|
5 B | |
| 003087 | html5lib/namedEntities/2680 html5lib-tests |
µ
|
6 B | |
| 003088 | html5lib/namedEntities/2681 html5lib-tests |
µ
|
7 B | |
| 003089 | html5lib/namedEntities/2682 html5lib-tests |
&mid
|
4 B | |
| 003090 | html5lib/namedEntities/2683 html5lib-tests |
∣
|
5 B | |
| 003091 | html5lib/namedEntities/2684 html5lib-tests |
&midast
|
7 B | |
| 003092 | html5lib/namedEntities/2685 html5lib-tests |
*
|
8 B | |
| 003093 | html5lib/namedEntities/2686 html5lib-tests |
&midcir
|
7 B | |
| 003094 | html5lib/namedEntities/2687 html5lib-tests |
⫰
|
8 B | |
| 003095 | html5lib/namedEntities/2688 html5lib-tests |
·
|
7 B | |
| 003096 | html5lib/namedEntities/2689 html5lib-tests |
·
|
8 B | |
| 003097 | html5lib/namedEntities/2690 html5lib-tests |
&minus
|
6 B | |
| 003098 | html5lib/namedEntities/2691 html5lib-tests |
−
|
7 B | |
| 003099 | html5lib/namedEntities/2692 html5lib-tests |
&minusb
|
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