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
004100 html5lib/namedEntities/3693 html5lib-tests &subdot Bad named entity: subdot without a semi-colon 7 B
004101 html5lib/namedEntities/3694 html5lib-tests ⪽ Named entity: subdot; with a semi-colon 8 B
004102 html5lib/namedEntities/3695 html5lib-tests &sube Bad named entity: sube without a semi-colon 5 B
004103 html5lib/namedEntities/3696 html5lib-tests ⊆ Named entity: sube; with a semi-colon 6 B
004104 html5lib/namedEntities/3697 html5lib-tests &subedot Bad named entity: subedot without a semi-colon 8 B
004105 html5lib/namedEntities/3698 html5lib-tests ⫃ Named entity: subedot; with a semi-colon 9 B
004106 html5lib/namedEntities/3699 html5lib-tests &submult Bad named entity: submult without a semi-colon 8 B
004107 html5lib/namedEntities/3700 html5lib-tests ⫁ Named entity: submult; with a semi-colon 9 B
004108 html5lib/namedEntities/3701 html5lib-tests &subnE Bad named entity: subnE without a semi-colon 6 B
004109 html5lib/namedEntities/3702 html5lib-tests ⫋ Named entity: subnE; with a semi-colon 7 B
004110 html5lib/namedEntities/3703 html5lib-tests &subne Bad named entity: subne without a semi-colon 6 B
004111 html5lib/namedEntities/3704 html5lib-tests ⊊ Named entity: subne; with a semi-colon 7 B
004112 html5lib/namedEntities/3705 html5lib-tests &subplus Bad named entity: subplus without a semi-colon 8 B
004113 html5lib/namedEntities/3706 html5lib-tests ⪿ Named entity: subplus; with a semi-colon 9 B
004114 html5lib/namedEntities/3707 html5lib-tests &subrarr Bad named entity: subrarr without a semi-colon 8 B
004115 html5lib/namedEntities/3708 html5lib-tests ⥹ Named entity: subrarr; with a semi-colon 9 B
004116 html5lib/namedEntities/3709 html5lib-tests &subset Bad named entity: subset without a semi-colon 7 B
004117 html5lib/namedEntities/3710 html5lib-tests ⊂ Named entity: subset; with a semi-colon 8 B
004118 html5lib/namedEntities/3711 html5lib-tests &subseteq Bad named entity: subseteq without a semi-colon 9 B
004119 html5lib/namedEntities/3712 html5lib-tests ⊆ Named entity: subseteq; with a semi-colon 10 B
004120 html5lib/namedEntities/3713 html5lib-tests &subseteqq Bad named entity: subseteqq without a semi-colon 10 B
004121 html5lib/namedEntities/3714 html5lib-tests ⫅ Named entity: subseteqq; with a semi-colon 11 B
004122 html5lib/namedEntities/3715 html5lib-tests &subsetneq Bad named entity: subsetneq without a semi-colon 10 B
004123 html5lib/namedEntities/3716 html5lib-tests ⊊ Named entity: subsetneq; with a semi-colon 11 B
004124 html5lib/namedEntities/3717 html5lib-tests &subsetneqq Bad named entity: subsetneqq without a semi-colon 11 B
004125 html5lib/namedEntities/3718 html5lib-tests ⫋ Named entity: subsetneqq; with a semi-colon 12 B
004126 html5lib/namedEntities/3719 html5lib-tests &subsim Bad named entity: subsim without a semi-colon 7 B
004127 html5lib/namedEntities/3720 html5lib-tests ⫇ Named entity: subsim; with a semi-colon 8 B
004128 html5lib/namedEntities/3721 html5lib-tests &subsub Bad named entity: subsub without a semi-colon 7 B
004129 html5lib/namedEntities/3722 html5lib-tests ⫕ Named entity: subsub; with a semi-colon 8 B
004130 html5lib/namedEntities/3723 html5lib-tests &subsup Bad named entity: subsup without a semi-colon 7 B
004131 html5lib/namedEntities/3724 html5lib-tests ⫓ Named entity: subsup; with a semi-colon 8 B
004132 html5lib/namedEntities/3725 html5lib-tests &succ Bad named entity: succ without a semi-colon 5 B
004133 html5lib/namedEntities/3726 html5lib-tests ≻ Named entity: succ; with a semi-colon 6 B
004134 html5lib/namedEntities/3727 html5lib-tests &succapprox Bad named entity: succapprox without a semi-colon 11 B
004135 html5lib/namedEntities/3728 html5lib-tests ⪸ Named entity: succapprox; with a semi-colon 12 B
004136 html5lib/namedEntities/3729 html5lib-tests &succcurlyeq Bad named entity: succcurlyeq without a semi-colon 12 B
004137 html5lib/namedEntities/3730 html5lib-tests ≽ Named entity: succcurlyeq; with a semi-colon 13 B
004138 html5lib/namedEntities/3731 html5lib-tests &succeq Bad named entity: succeq without a semi-colon 7 B
004139 html5lib/namedEntities/3732 html5lib-tests ⪰ Named entity: succeq; with a semi-colon 8 B
004140 html5lib/namedEntities/3733 html5lib-tests &succnapprox Bad named entity: succnapprox without a semi-colon 12 B
004141 html5lib/namedEntities/3734 html5lib-tests ⪺ Named entity: succnapprox; with a semi-colon 13 B
004142 html5lib/namedEntities/3735 html5lib-tests &succneqq Bad named entity: succneqq without a semi-colon 9 B
004143 html5lib/namedEntities/3736 html5lib-tests ⪶ Named entity: succneqq; with a semi-colon 10 B
004144 html5lib/namedEntities/3737 html5lib-tests &succnsim Bad named entity: succnsim without a semi-colon 9 B
004145 html5lib/namedEntities/3738 html5lib-tests ⋩ Named entity: succnsim; with a semi-colon 10 B
004146 html5lib/namedEntities/3739 html5lib-tests &succsim Bad named entity: succsim without a semi-colon 8 B
004147 html5lib/namedEntities/3740 html5lib-tests ≿ Named entity: succsim; with a semi-colon 9 B
004148 html5lib/namedEntities/3741 html5lib-tests &sum Bad named entity: sum without a semi-colon 4 B
004149 html5lib/namedEntities/3742 html5lib-tests ∑ Named entity: sum; with a semi-colon 5 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.