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