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
004004 html5lib/namedEntities/3597 html5lib-tests &simne Bad named entity: simne without a semi-colon 6 B
004005 html5lib/namedEntities/3598 html5lib-tests ≆ Named entity: simne; with a semi-colon 7 B
004006 html5lib/namedEntities/3599 html5lib-tests &simplus Bad named entity: simplus without a semi-colon 8 B
004007 html5lib/namedEntities/3600 html5lib-tests ⨤ Named entity: simplus; with a semi-colon 9 B
004008 html5lib/namedEntities/3601 html5lib-tests &simrarr Bad named entity: simrarr without a semi-colon 8 B
004009 html5lib/namedEntities/3602 html5lib-tests ⥲ Named entity: simrarr; with a semi-colon 9 B
004010 html5lib/namedEntities/3603 html5lib-tests &slarr Bad named entity: slarr without a semi-colon 6 B
004011 html5lib/namedEntities/3604 html5lib-tests ← Named entity: slarr; with a semi-colon 7 B
004012 html5lib/namedEntities/3605 html5lib-tests &smallsetminus Bad named entity: smallsetminus without a semi-colon 14 B
004013 html5lib/namedEntities/3606 html5lib-tests ∖ Named entity: smallsetminus; with a semi-colon 15 B
004014 html5lib/namedEntities/3607 html5lib-tests &smashp Bad named entity: smashp without a semi-colon 7 B
004015 html5lib/namedEntities/3608 html5lib-tests ⨳ Named entity: smashp; with a semi-colon 8 B
004016 html5lib/namedEntities/3609 html5lib-tests &smeparsl Bad named entity: smeparsl without a semi-colon 9 B
004017 html5lib/namedEntities/3610 html5lib-tests ⧤ Named entity: smeparsl; with a semi-colon 10 B
004018 html5lib/namedEntities/3611 html5lib-tests &smid Bad named entity: smid without a semi-colon 5 B
004019 html5lib/namedEntities/3612 html5lib-tests ∣ Named entity: smid; with a semi-colon 6 B
004020 html5lib/namedEntities/3613 html5lib-tests &smile Bad named entity: smile without a semi-colon 6 B
004021 html5lib/namedEntities/3614 html5lib-tests ⌣ Named entity: smile; with a semi-colon 7 B
004022 html5lib/namedEntities/3615 html5lib-tests &smt Bad named entity: smt without a semi-colon 4 B
004023 html5lib/namedEntities/3616 html5lib-tests ⪪ Named entity: smt; with a semi-colon 5 B
004024 html5lib/namedEntities/3617 html5lib-tests &smte Bad named entity: smte without a semi-colon 5 B
004025 html5lib/namedEntities/3618 html5lib-tests ⪬ Named entity: smte; with a semi-colon 6 B
004026 html5lib/namedEntities/3619 html5lib-tests &smtes Bad named entity: smtes without a semi-colon 6 B
004027 html5lib/namedEntities/3620 html5lib-tests ⪬︀ Named entity: smtes; with a semi-colon 7 B
004028 html5lib/namedEntities/3621 html5lib-tests &softcy Bad named entity: softcy without a semi-colon 7 B
004029 html5lib/namedEntities/3622 html5lib-tests ь Named entity: softcy; with a semi-colon 8 B
004030 html5lib/namedEntities/3623 html5lib-tests &sol Bad named entity: sol without a semi-colon 4 B
004031 html5lib/namedEntities/3624 html5lib-tests / Named entity: sol; with a semi-colon 5 B
004032 html5lib/namedEntities/3625 html5lib-tests &solb Bad named entity: solb without a semi-colon 5 B
004033 html5lib/namedEntities/3626 html5lib-tests ⧄ Named entity: solb; with a semi-colon 6 B
004034 html5lib/namedEntities/3627 html5lib-tests &solbar Bad named entity: solbar without a semi-colon 7 B
004035 html5lib/namedEntities/3628 html5lib-tests ⌿ Named entity: solbar; with a semi-colon 8 B
004036 html5lib/namedEntities/3629 html5lib-tests &sopf Bad named entity: sopf without a semi-colon 5 B
004037 html5lib/namedEntities/3630 html5lib-tests 𝕤 Named entity: sopf; with a semi-colon 6 B
004038 html5lib/namedEntities/3631 html5lib-tests &spades Bad named entity: spades without a semi-colon 7 B
004039 html5lib/namedEntities/3632 html5lib-tests ♠ Named entity: spades; with a semi-colon 8 B
004040 html5lib/namedEntities/3633 html5lib-tests &spadesuit Bad named entity: spadesuit without a semi-colon 10 B
004041 html5lib/namedEntities/3634 html5lib-tests ♠ Named entity: spadesuit; with a semi-colon 11 B
004042 html5lib/namedEntities/3635 html5lib-tests &spar Bad named entity: spar without a semi-colon 5 B
004043 html5lib/namedEntities/3636 html5lib-tests ∥ Named entity: spar; with a semi-colon 6 B
004044 html5lib/namedEntities/3637 html5lib-tests &sqcap Bad named entity: sqcap without a semi-colon 6 B
004045 html5lib/namedEntities/3638 html5lib-tests ⊓ Named entity: sqcap; with a semi-colon 7 B
004046 html5lib/namedEntities/3639 html5lib-tests &sqcaps Bad named entity: sqcaps without a semi-colon 7 B
004047 html5lib/namedEntities/3640 html5lib-tests ⊓︀ Named entity: sqcaps; with a semi-colon 8 B
004048 html5lib/namedEntities/3641 html5lib-tests &sqcup Bad named entity: sqcup without a semi-colon 6 B
004049 html5lib/namedEntities/3642 html5lib-tests ⊔ Named entity: sqcup; with a semi-colon 7 B
004050 html5lib/namedEntities/3643 html5lib-tests &sqcups Bad named entity: sqcups without a semi-colon 7 B
004051 html5lib/namedEntities/3644 html5lib-tests ⊔︀ Named entity: sqcups; with a semi-colon 8 B
004052 html5lib/namedEntities/3645 html5lib-tests &sqsub Bad named entity: sqsub without a semi-colon 6 B
004053 html5lib/namedEntities/3646 html5lib-tests ⊏ Named entity: sqsub; with 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.