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
002850 html5lib/namedEntities/2443 html5lib-tests &ldrushar Bad named entity: ldrushar without a semi-colon 9 B
002851 html5lib/namedEntities/2444 html5lib-tests ⥋ Named entity: ldrushar; with a semi-colon 10 B
002852 html5lib/namedEntities/2445 html5lib-tests &ldsh Bad named entity: ldsh without a semi-colon 5 B
002853 html5lib/namedEntities/2446 html5lib-tests ↲ Named entity: ldsh; with a semi-colon 6 B
002854 html5lib/namedEntities/2447 html5lib-tests &le Bad named entity: le without a semi-colon 3 B
002855 html5lib/namedEntities/2448 html5lib-tests ≤ Named entity: le; with a semi-colon 4 B
002856 html5lib/namedEntities/2449 html5lib-tests &leftarrow Bad named entity: leftarrow without a semi-colon 10 B
002857 html5lib/namedEntities/2450 html5lib-tests ← Named entity: leftarrow; with a semi-colon 11 B
002858 html5lib/namedEntities/2451 html5lib-tests &leftarrowtail Bad named entity: leftarrowtail without a semi-colon 14 B
002859 html5lib/namedEntities/2452 html5lib-tests ↢ Named entity: leftarrowtail; with a semi-colon 15 B
002860 html5lib/namedEntities/2453 html5lib-tests &leftharpoondown Bad named entity: leftharpoondown without a semi-colon 16 B
002861 html5lib/namedEntities/2454 html5lib-tests ↽ Named entity: leftharpoondown; with a semi-colon 17 B
002862 html5lib/namedEntities/2455 html5lib-tests &leftharpoonup Bad named entity: leftharpoonup without a semi-colon 14 B
002863 html5lib/namedEntities/2456 html5lib-tests ↼ Named entity: leftharpoonup; with a semi-colon 15 B
002864 html5lib/namedEntities/2457 html5lib-tests &leftleftarrows Bad named entity: leftleftarrows without a semi-colon 15 B
002865 html5lib/namedEntities/2458 html5lib-tests ⇇ Named entity: leftleftarrows; with a semi-colon 16 B
002866 html5lib/namedEntities/2459 html5lib-tests &leftrightarrow Bad named entity: leftrightarrow without a semi-colon 15 B
002867 html5lib/namedEntities/2460 html5lib-tests ↔ Named entity: leftrightarrow; with a semi-colon 16 B
002868 html5lib/namedEntities/2461 html5lib-tests &leftrightarrows Bad named entity: leftrightarrows without a semi-colon 16 B
002869 html5lib/namedEntities/2462 html5lib-tests ⇆ Named entity: leftrightarrows; with a semi-colon 17 B
002870 html5lib/namedEntities/2463 html5lib-tests &leftrightharpoons Bad named entity: leftrightharpoons without a semi-colon 18 B
002871 html5lib/namedEntities/2464 html5lib-tests ⇋ Named entity: leftrightharpoons; with a semi-colon 19 B
002872 html5lib/namedEntities/2465 html5lib-tests &leftrightsquigarrow Bad named entity: leftrightsquigarrow without a semi-colon 20 B
002873 html5lib/namedEntities/2466 html5lib-tests ↭ Named entity: leftrightsquigarrow; with a semi-colon 21 B
002874 html5lib/namedEntities/2467 html5lib-tests &leftthreetimes Bad named entity: leftthreetimes without a semi-colon 15 B
002875 html5lib/namedEntities/2468 html5lib-tests ⋋ Named entity: leftthreetimes; with a semi-colon 16 B
002876 html5lib/namedEntities/2469 html5lib-tests &leg Bad named entity: leg without a semi-colon 4 B
002877 html5lib/namedEntities/2470 html5lib-tests ⋚ Named entity: leg; with a semi-colon 5 B
002878 html5lib/namedEntities/2471 html5lib-tests &leq Bad named entity: leq without a semi-colon 4 B
002879 html5lib/namedEntities/2472 html5lib-tests ≤ Named entity: leq; with a semi-colon 5 B
002880 html5lib/namedEntities/2473 html5lib-tests &leqq Bad named entity: leqq without a semi-colon 5 B
002881 html5lib/namedEntities/2474 html5lib-tests ≦ Named entity: leqq; with a semi-colon 6 B
002882 html5lib/namedEntities/2475 html5lib-tests &leqslant Bad named entity: leqslant without a semi-colon 9 B
002883 html5lib/namedEntities/2476 html5lib-tests ⩽ Named entity: leqslant; with a semi-colon 10 B
002884 html5lib/namedEntities/2477 html5lib-tests &les Bad named entity: les without a semi-colon 4 B
002885 html5lib/namedEntities/2478 html5lib-tests ⩽ Named entity: les; with a semi-colon 5 B
002886 html5lib/namedEntities/2479 html5lib-tests &lescc Bad named entity: lescc without a semi-colon 6 B
002887 html5lib/namedEntities/2480 html5lib-tests ⪨ Named entity: lescc; with a semi-colon 7 B
002888 html5lib/namedEntities/2481 html5lib-tests &lesdot Bad named entity: lesdot without a semi-colon 7 B
002889 html5lib/namedEntities/2482 html5lib-tests ⩿ Named entity: lesdot; with a semi-colon 8 B
002890 html5lib/namedEntities/2483 html5lib-tests &lesdoto Bad named entity: lesdoto without a semi-colon 8 B
002891 html5lib/namedEntities/2484 html5lib-tests ⪁ Named entity: lesdoto; with a semi-colon 9 B
002892 html5lib/namedEntities/2485 html5lib-tests &lesdotor Bad named entity: lesdotor without a semi-colon 9 B
002893 html5lib/namedEntities/2486 html5lib-tests ⪃ Named entity: lesdotor; with a semi-colon 10 B
002894 html5lib/namedEntities/2487 html5lib-tests &lesg Bad named entity: lesg without a semi-colon 5 B
002895 html5lib/namedEntities/2488 html5lib-tests ⋚︀ Named entity: lesg; with a semi-colon 6 B
002896 html5lib/namedEntities/2489 html5lib-tests &lesges Bad named entity: lesges without a semi-colon 7 B
002897 html5lib/namedEntities/2490 html5lib-tests ⪓ Named entity: lesges; with a semi-colon 8 B
002898 html5lib/namedEntities/2491 html5lib-tests &lessapprox Bad named entity: lessapprox without a semi-colon 11 B
002899 html5lib/namedEntities/2492 html5lib-tests ⪅ Named entity: lessapprox; with a semi-colon 12 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.