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
003600 html5lib/namedEntities/3193 html5lib-tests &plusacir Bad named entity: plusacir without a semi-colon 9 B
003601 html5lib/namedEntities/3194 html5lib-tests ⨣ Named entity: plusacir; with a semi-colon 10 B
003602 html5lib/namedEntities/3195 html5lib-tests &plusb Bad named entity: plusb without a semi-colon 6 B
003603 html5lib/namedEntities/3196 html5lib-tests ⊞ Named entity: plusb; with a semi-colon 7 B
003604 html5lib/namedEntities/3197 html5lib-tests &pluscir Bad named entity: pluscir without a semi-colon 8 B
003605 html5lib/namedEntities/3198 html5lib-tests ⨢ Named entity: pluscir; with a semi-colon 9 B
003606 html5lib/namedEntities/3199 html5lib-tests &plusdo Bad named entity: plusdo without a semi-colon 7 B
003607 html5lib/namedEntities/3200 html5lib-tests ∔ Named entity: plusdo; with a semi-colon 8 B
003608 html5lib/namedEntities/3201 html5lib-tests &plusdu Bad named entity: plusdu without a semi-colon 7 B
003609 html5lib/namedEntities/3202 html5lib-tests ⨥ Named entity: plusdu; with a semi-colon 8 B
003610 html5lib/namedEntities/3203 html5lib-tests &pluse Bad named entity: pluse without a semi-colon 6 B
003611 html5lib/namedEntities/3204 html5lib-tests ⩲ Named entity: pluse; with a semi-colon 7 B
003612 html5lib/namedEntities/3205 html5lib-tests ± Named entity: plusmn without a semi-colon 7 B
003613 html5lib/namedEntities/3206 html5lib-tests ± Named entity: plusmn; with a semi-colon 8 B
003614 html5lib/namedEntities/3207 html5lib-tests &plussim Bad named entity: plussim without a semi-colon 8 B
003615 html5lib/namedEntities/3208 html5lib-tests ⨦ Named entity: plussim; with a semi-colon 9 B
003616 html5lib/namedEntities/3209 html5lib-tests &plustwo Bad named entity: plustwo without a semi-colon 8 B
003617 html5lib/namedEntities/3210 html5lib-tests ⨧ Named entity: plustwo; with a semi-colon 9 B
003618 html5lib/namedEntities/3211 html5lib-tests &pm Bad named entity: pm without a semi-colon 3 B
003619 html5lib/namedEntities/3212 html5lib-tests ± Named entity: pm; with a semi-colon 4 B
003620 html5lib/namedEntities/3213 html5lib-tests &pointint Bad named entity: pointint without a semi-colon 9 B
003621 html5lib/namedEntities/3214 html5lib-tests ⨕ Named entity: pointint; with a semi-colon 10 B
003622 html5lib/namedEntities/3215 html5lib-tests &popf Bad named entity: popf without a semi-colon 5 B
003623 html5lib/namedEntities/3216 html5lib-tests 𝕡 Named entity: popf; with a semi-colon 6 B
003624 html5lib/namedEntities/3217 html5lib-tests £ Named entity: pound without a semi-colon 6 B
003625 html5lib/namedEntities/3218 html5lib-tests £ Named entity: pound; with a semi-colon 7 B
003626 html5lib/namedEntities/3219 html5lib-tests &pr Bad named entity: pr without a semi-colon 3 B
003627 html5lib/namedEntities/3220 html5lib-tests ≺ Named entity: pr; with a semi-colon 4 B
003628 html5lib/namedEntities/3221 html5lib-tests &prE Bad named entity: prE without a semi-colon 4 B
003629 html5lib/namedEntities/3222 html5lib-tests ⪳ Named entity: prE; with a semi-colon 5 B
003630 html5lib/namedEntities/3223 html5lib-tests &prap Bad named entity: prap without a semi-colon 5 B
003631 html5lib/namedEntities/3224 html5lib-tests ⪷ Named entity: prap; with a semi-colon 6 B
003632 html5lib/namedEntities/3225 html5lib-tests &prcue Bad named entity: prcue without a semi-colon 6 B
003633 html5lib/namedEntities/3226 html5lib-tests ≼ Named entity: prcue; with a semi-colon 7 B
003634 html5lib/namedEntities/3227 html5lib-tests &pre Bad named entity: pre without a semi-colon 4 B
003635 html5lib/namedEntities/3228 html5lib-tests ⪯ Named entity: pre; with a semi-colon 5 B
003636 html5lib/namedEntities/3229 html5lib-tests &prec Bad named entity: prec without a semi-colon 5 B
003637 html5lib/namedEntities/3230 html5lib-tests ≺ Named entity: prec; with a semi-colon 6 B
003638 html5lib/namedEntities/3231 html5lib-tests &precapprox Bad named entity: precapprox without a semi-colon 11 B
003639 html5lib/namedEntities/3232 html5lib-tests ⪷ Named entity: precapprox; with a semi-colon 12 B
003640 html5lib/namedEntities/3233 html5lib-tests &preccurlyeq Bad named entity: preccurlyeq without a semi-colon 12 B
003641 html5lib/namedEntities/3234 html5lib-tests ≼ Named entity: preccurlyeq; with a semi-colon 13 B
003642 html5lib/namedEntities/3235 html5lib-tests &preceq Bad named entity: preceq without a semi-colon 7 B
003643 html5lib/namedEntities/3236 html5lib-tests ⪯ Named entity: preceq; with a semi-colon 8 B
003644 html5lib/namedEntities/3237 html5lib-tests &precnapprox Bad named entity: precnapprox without a semi-colon 12 B
003645 html5lib/namedEntities/3238 html5lib-tests ⪹ Named entity: precnapprox; with a semi-colon 13 B
003646 html5lib/namedEntities/3239 html5lib-tests &precneqq Bad named entity: precneqq without a semi-colon 9 B
003647 html5lib/namedEntities/3240 html5lib-tests ⪵ Named entity: precneqq; with a semi-colon 10 B
003648 html5lib/namedEntities/3241 html5lib-tests &precnsim Bad named entity: precnsim without a semi-colon 9 B
003649 html5lib/namedEntities/3242 html5lib-tests ⋨ Named entity: precnsim; with a semi-colon 10 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.