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
003850 html5lib/namedEntities/3443 html5lib-tests &rlm Bad named entity: rlm without a semi-colon 4 B
003851 html5lib/namedEntities/3444 html5lib-tests ⟨U+200F⟩ Named entity: rlm; with a semi-colon 5 B
003852 html5lib/namedEntities/3445 html5lib-tests &rmoust Bad named entity: rmoust without a semi-colon 7 B
003853 html5lib/namedEntities/3446 html5lib-tests ⎱ Named entity: rmoust; with a semi-colon 8 B
003854 html5lib/namedEntities/3447 html5lib-tests &rmoustache Bad named entity: rmoustache without a semi-colon 11 B
003855 html5lib/namedEntities/3448 html5lib-tests ⎱ Named entity: rmoustache; with a semi-colon 12 B
003856 html5lib/namedEntities/3449 html5lib-tests &rnmid Bad named entity: rnmid without a semi-colon 6 B
003857 html5lib/namedEntities/3450 html5lib-tests ⫮ Named entity: rnmid; with a semi-colon 7 B
003858 html5lib/namedEntities/3451 html5lib-tests &roang Bad named entity: roang without a semi-colon 6 B
003859 html5lib/namedEntities/3452 html5lib-tests ⟭ Named entity: roang; with a semi-colon 7 B
003860 html5lib/namedEntities/3453 html5lib-tests &roarr Bad named entity: roarr without a semi-colon 6 B
003861 html5lib/namedEntities/3454 html5lib-tests ⇾ Named entity: roarr; with a semi-colon 7 B
003862 html5lib/namedEntities/3455 html5lib-tests &robrk Bad named entity: robrk without a semi-colon 6 B
003863 html5lib/namedEntities/3456 html5lib-tests ⟧ Named entity: robrk; with a semi-colon 7 B
003864 html5lib/namedEntities/3457 html5lib-tests &ropar Bad named entity: ropar without a semi-colon 6 B
003865 html5lib/namedEntities/3458 html5lib-tests ⦆ Named entity: ropar; with a semi-colon 7 B
003866 html5lib/namedEntities/3459 html5lib-tests &ropf Bad named entity: ropf without a semi-colon 5 B
003867 html5lib/namedEntities/3460 html5lib-tests 𝕣 Named entity: ropf; with a semi-colon 6 B
003868 html5lib/namedEntities/3461 html5lib-tests &roplus Bad named entity: roplus without a semi-colon 7 B
003869 html5lib/namedEntities/3462 html5lib-tests ⨮ Named entity: roplus; with a semi-colon 8 B
003870 html5lib/namedEntities/3463 html5lib-tests &rotimes Bad named entity: rotimes without a semi-colon 8 B
003871 html5lib/namedEntities/3464 html5lib-tests ⨵ Named entity: rotimes; with a semi-colon 9 B
003872 html5lib/namedEntities/3465 html5lib-tests &rpar Bad named entity: rpar without a semi-colon 5 B
003873 html5lib/namedEntities/3466 html5lib-tests ) Named entity: rpar; with a semi-colon 6 B
003874 html5lib/namedEntities/3467 html5lib-tests &rpargt Bad named entity: rpargt without a semi-colon 7 B
003875 html5lib/namedEntities/3468 html5lib-tests ⦔ Named entity: rpargt; with a semi-colon 8 B
003876 html5lib/namedEntities/3469 html5lib-tests &rppolint Bad named entity: rppolint without a semi-colon 9 B
003877 html5lib/namedEntities/3470 html5lib-tests ⨒ Named entity: rppolint; with a semi-colon 10 B
003878 html5lib/namedEntities/3471 html5lib-tests &rrarr Bad named entity: rrarr without a semi-colon 6 B
003879 html5lib/namedEntities/3472 html5lib-tests ⇉ Named entity: rrarr; with a semi-colon 7 B
003880 html5lib/namedEntities/3473 html5lib-tests &rsaquo Bad named entity: rsaquo without a semi-colon 7 B
003881 html5lib/namedEntities/3474 html5lib-tests › Named entity: rsaquo; with a semi-colon 8 B
003882 html5lib/namedEntities/3475 html5lib-tests &rscr Bad named entity: rscr without a semi-colon 5 B
003883 html5lib/namedEntities/3476 html5lib-tests 𝓇 Named entity: rscr; with a semi-colon 6 B
003884 html5lib/namedEntities/3477 html5lib-tests &rsh Bad named entity: rsh without a semi-colon 4 B
003885 html5lib/namedEntities/3478 html5lib-tests ↱ Named entity: rsh; with a semi-colon 5 B
003886 html5lib/namedEntities/3479 html5lib-tests &rsqb Bad named entity: rsqb without a semi-colon 5 B
003887 html5lib/namedEntities/3480 html5lib-tests ] Named entity: rsqb; with a semi-colon 6 B
003888 html5lib/namedEntities/3481 html5lib-tests &rsquo Bad named entity: rsquo without a semi-colon 6 B
003889 html5lib/namedEntities/3482 html5lib-tests ’ Named entity: rsquo; with a semi-colon 7 B
003890 html5lib/namedEntities/3483 html5lib-tests &rsquor Bad named entity: rsquor without a semi-colon 7 B
003891 html5lib/namedEntities/3484 html5lib-tests ’ Named entity: rsquor; with a semi-colon 8 B
003892 html5lib/namedEntities/3485 html5lib-tests &rthree Bad named entity: rthree without a semi-colon 7 B
003893 html5lib/namedEntities/3486 html5lib-tests ⋌ Named entity: rthree; with a semi-colon 8 B
003894 html5lib/namedEntities/3487 html5lib-tests &rtimes Bad named entity: rtimes without a semi-colon 7 B
003895 html5lib/namedEntities/3488 html5lib-tests ⋊ Named entity: rtimes; with a semi-colon 8 B
003896 html5lib/namedEntities/3489 html5lib-tests &rtri Bad named entity: rtri without a semi-colon 5 B
003897 html5lib/namedEntities/3490 html5lib-tests ▹ Named entity: rtri; with a semi-colon 6 B
003898 html5lib/namedEntities/3491 html5lib-tests &rtrie Bad named entity: rtrie without a semi-colon 6 B
003899 html5lib/namedEntities/3492 html5lib-tests ⊵ Named entity: rtrie; 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.