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
Clear

5,931 of 6,835 cases

Case Name Expected Note Size
003004 html5lib/namedEntities/2597 html5lib-tests &lrhar Bad named entity: lrhar without a semi-colon 6 B
003005 html5lib/namedEntities/2598 html5lib-tests ⇋ Named entity: lrhar; with a semi-colon 7 B
003006 html5lib/namedEntities/2599 html5lib-tests &lrhard Bad named entity: lrhard without a semi-colon 7 B
003007 html5lib/namedEntities/2600 html5lib-tests ⥭ Named entity: lrhard; with a semi-colon 8 B
003008 html5lib/namedEntities/2601 html5lib-tests &lrm Bad named entity: lrm without a semi-colon 4 B
003009 html5lib/namedEntities/2602 html5lib-tests ⟨U+200E⟩ Named entity: lrm; with a semi-colon 5 B
003010 html5lib/namedEntities/2603 html5lib-tests &lrtri Bad named entity: lrtri without a semi-colon 6 B
003011 html5lib/namedEntities/2604 html5lib-tests ⊿ Named entity: lrtri; with a semi-colon 7 B
003012 html5lib/namedEntities/2605 html5lib-tests &lsaquo Bad named entity: lsaquo without a semi-colon 7 B
003013 html5lib/namedEntities/2606 html5lib-tests ‹ Named entity: lsaquo; with a semi-colon 8 B
003014 html5lib/namedEntities/2607 html5lib-tests &lscr Bad named entity: lscr without a semi-colon 5 B
003015 html5lib/namedEntities/2608 html5lib-tests 𝓁 Named entity: lscr; with a semi-colon 6 B
003016 html5lib/namedEntities/2609 html5lib-tests &lsh Bad named entity: lsh without a semi-colon 4 B
003017 html5lib/namedEntities/2610 html5lib-tests ↰ Named entity: lsh; with a semi-colon 5 B
003018 html5lib/namedEntities/2611 html5lib-tests &lsim Bad named entity: lsim without a semi-colon 5 B
003019 html5lib/namedEntities/2612 html5lib-tests ≲ Named entity: lsim; with a semi-colon 6 B
003020 html5lib/namedEntities/2613 html5lib-tests &lsime Bad named entity: lsime without a semi-colon 6 B
003021 html5lib/namedEntities/2614 html5lib-tests ⪍ Named entity: lsime; with a semi-colon 7 B
003022 html5lib/namedEntities/2615 html5lib-tests &lsimg Bad named entity: lsimg without a semi-colon 6 B
003023 html5lib/namedEntities/2616 html5lib-tests ⪏ Named entity: lsimg; with a semi-colon 7 B
003024 html5lib/namedEntities/2617 html5lib-tests &lsqb Bad named entity: lsqb without a semi-colon 5 B
003025 html5lib/namedEntities/2618 html5lib-tests [ Named entity: lsqb; with a semi-colon 6 B
003026 html5lib/namedEntities/2619 html5lib-tests &lsquo Bad named entity: lsquo without a semi-colon 6 B
003027 html5lib/namedEntities/2620 html5lib-tests ‘ Named entity: lsquo; with a semi-colon 7 B
003028 html5lib/namedEntities/2621 html5lib-tests &lsquor Bad named entity: lsquor without a semi-colon 7 B
003029 html5lib/namedEntities/2622 html5lib-tests ‚ Named entity: lsquor; with a semi-colon 8 B
003030 html5lib/namedEntities/2623 html5lib-tests &lstrok Bad named entity: lstrok without a semi-colon 7 B
003031 html5lib/namedEntities/2624 html5lib-tests ł Named entity: lstrok; with a semi-colon 8 B
003032 html5lib/namedEntities/2625 html5lib-tests < Named entity: lt without a semi-colon 3 B
003033 html5lib/namedEntities/2626 html5lib-tests < Named entity: lt; with a semi-colon 4 B
003034 html5lib/namedEntities/2627 html5lib-tests ⪦ Named entity: ltcc; with a semi-colon 6 B
003035 html5lib/namedEntities/2628 html5lib-tests ⩹ Named entity: ltcir; with a semi-colon 7 B
003036 html5lib/namedEntities/2629 html5lib-tests ⋖ Named entity: ltdot; with a semi-colon 7 B
003037 html5lib/namedEntities/2630 html5lib-tests ⋋ Named entity: lthree; with a semi-colon 8 B
003038 html5lib/namedEntities/2631 html5lib-tests ⋉ Named entity: ltimes; with a semi-colon 8 B
003039 html5lib/namedEntities/2632 html5lib-tests ⥶ Named entity: ltlarr; with a semi-colon 8 B
003040 html5lib/namedEntities/2633 html5lib-tests ⩻ Named entity: ltquest; with a semi-colon 9 B
003041 html5lib/namedEntities/2634 html5lib-tests ⦖ Named entity: ltrPar; with a semi-colon 8 B
003042 html5lib/namedEntities/2635 html5lib-tests ◃ Named entity: ltri; with a semi-colon 6 B
003043 html5lib/namedEntities/2636 html5lib-tests ⊴ Named entity: ltrie; with a semi-colon 7 B
003044 html5lib/namedEntities/2637 html5lib-tests ◂ Named entity: ltrif; with a semi-colon 7 B
003045 html5lib/namedEntities/2638 html5lib-tests &lurdshar Bad named entity: lurdshar without a semi-colon 9 B
003046 html5lib/namedEntities/2639 html5lib-tests ⥊ Named entity: lurdshar; with a semi-colon 10 B
003047 html5lib/namedEntities/2640 html5lib-tests &luruhar Bad named entity: luruhar without a semi-colon 8 B
003048 html5lib/namedEntities/2641 html5lib-tests ⥦ Named entity: luruhar; with a semi-colon 9 B
003049 html5lib/namedEntities/2642 html5lib-tests &lvertneqq Bad named entity: lvertneqq without a semi-colon 10 B
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

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.