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
002954 html5lib/namedEntities/2547 html5lib-tests &lneq Bad named entity: lneq without a semi-colon 5 B
002955 html5lib/namedEntities/2548 html5lib-tests ⪇ Named entity: lneq; with a semi-colon 6 B
002956 html5lib/namedEntities/2549 html5lib-tests &lneqq Bad named entity: lneqq without a semi-colon 6 B
002957 html5lib/namedEntities/2550 html5lib-tests ≨ Named entity: lneqq; with a semi-colon 7 B
002958 html5lib/namedEntities/2551 html5lib-tests &lnsim Bad named entity: lnsim without a semi-colon 6 B
002959 html5lib/namedEntities/2552 html5lib-tests ⋦ Named entity: lnsim; with a semi-colon 7 B
002960 html5lib/namedEntities/2553 html5lib-tests &loang Bad named entity: loang without a semi-colon 6 B
002961 html5lib/namedEntities/2554 html5lib-tests ⟬ Named entity: loang; with a semi-colon 7 B
002962 html5lib/namedEntities/2555 html5lib-tests &loarr Bad named entity: loarr without a semi-colon 6 B
002963 html5lib/namedEntities/2556 html5lib-tests ⇽ Named entity: loarr; with a semi-colon 7 B
002964 html5lib/namedEntities/2557 html5lib-tests &lobrk Bad named entity: lobrk without a semi-colon 6 B
002965 html5lib/namedEntities/2558 html5lib-tests ⟦ Named entity: lobrk; with a semi-colon 7 B
002966 html5lib/namedEntities/2559 html5lib-tests &longleftarrow Bad named entity: longleftarrow without a semi-colon 14 B
002967 html5lib/namedEntities/2560 html5lib-tests ⟵ Named entity: longleftarrow; with a semi-colon 15 B
002968 html5lib/namedEntities/2561 html5lib-tests &longleftrightarrow Bad named entity: longleftrightarrow without a semi-colon 19 B
002969 html5lib/namedEntities/2562 html5lib-tests ⟷ Named entity: longleftrightarrow; with a semi-colon 20 B
002970 html5lib/namedEntities/2563 html5lib-tests &longmapsto Bad named entity: longmapsto without a semi-colon 11 B
002971 html5lib/namedEntities/2564 html5lib-tests ⟼ Named entity: longmapsto; with a semi-colon 12 B
002972 html5lib/namedEntities/2565 html5lib-tests &longrightarrow Bad named entity: longrightarrow without a semi-colon 15 B
002973 html5lib/namedEntities/2566 html5lib-tests ⟶ Named entity: longrightarrow; with a semi-colon 16 B
002974 html5lib/namedEntities/2567 html5lib-tests &looparrowleft Bad named entity: looparrowleft without a semi-colon 14 B
002975 html5lib/namedEntities/2568 html5lib-tests ↫ Named entity: looparrowleft; with a semi-colon 15 B
002976 html5lib/namedEntities/2569 html5lib-tests &looparrowright Bad named entity: looparrowright without a semi-colon 15 B
002977 html5lib/namedEntities/2570 html5lib-tests ↬ Named entity: looparrowright; with a semi-colon 16 B
002978 html5lib/namedEntities/2571 html5lib-tests &lopar Bad named entity: lopar without a semi-colon 6 B
002979 html5lib/namedEntities/2572 html5lib-tests ⦅ Named entity: lopar; with a semi-colon 7 B
002980 html5lib/namedEntities/2573 html5lib-tests &lopf Bad named entity: lopf without a semi-colon 5 B
002981 html5lib/namedEntities/2574 html5lib-tests 𝕝 Named entity: lopf; with a semi-colon 6 B
002982 html5lib/namedEntities/2575 html5lib-tests &loplus Bad named entity: loplus without a semi-colon 7 B
002983 html5lib/namedEntities/2576 html5lib-tests ⨭ Named entity: loplus; with a semi-colon 8 B
002984 html5lib/namedEntities/2577 html5lib-tests &lotimes Bad named entity: lotimes without a semi-colon 8 B
002985 html5lib/namedEntities/2578 html5lib-tests ⨴ Named entity: lotimes; with a semi-colon 9 B
002986 html5lib/namedEntities/2579 html5lib-tests &lowast Bad named entity: lowast without a semi-colon 7 B
002987 html5lib/namedEntities/2580 html5lib-tests ∗ Named entity: lowast; with a semi-colon 8 B
002988 html5lib/namedEntities/2581 html5lib-tests &lowbar Bad named entity: lowbar without a semi-colon 7 B
002989 html5lib/namedEntities/2582 html5lib-tests _ Named entity: lowbar; with a semi-colon 8 B
002990 html5lib/namedEntities/2583 html5lib-tests &loz Bad named entity: loz without a semi-colon 4 B
002991 html5lib/namedEntities/2584 html5lib-tests ◊ Named entity: loz; with a semi-colon 5 B
002992 html5lib/namedEntities/2585 html5lib-tests &lozenge Bad named entity: lozenge without a semi-colon 8 B
002993 html5lib/namedEntities/2586 html5lib-tests ◊ Named entity: lozenge; with a semi-colon 9 B
002994 html5lib/namedEntities/2587 html5lib-tests &lozf Bad named entity: lozf without a semi-colon 5 B
002995 html5lib/namedEntities/2588 html5lib-tests ⧫ Named entity: lozf; with a semi-colon 6 B
002996 html5lib/namedEntities/2589 html5lib-tests &lpar Bad named entity: lpar without a semi-colon 5 B
002997 html5lib/namedEntities/2590 html5lib-tests ( Named entity: lpar; with a semi-colon 6 B
002998 html5lib/namedEntities/2591 html5lib-tests &lparlt Bad named entity: lparlt without a semi-colon 7 B
002999 html5lib/namedEntities/2592 html5lib-tests ⦓ Named entity: lparlt; with a semi-colon 8 B
003000 html5lib/namedEntities/2593 html5lib-tests &lrarr Bad named entity: lrarr without a semi-colon 6 B
003001 html5lib/namedEntities/2594 html5lib-tests ⇆ Named entity: lrarr; with a semi-colon 7 B
003002 html5lib/namedEntities/2595 html5lib-tests &lrcorner Bad named entity: lrcorner without a semi-colon 9 B
003003 html5lib/namedEntities/2596 html5lib-tests ⌟ Named entity: lrcorner; 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.