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
000900 html5lib/namedEntities/0493 html5lib-tests ⥎ Named entity: LeftRightVector; with a semi-colon 17 B
000901 html5lib/namedEntities/0494 html5lib-tests &LeftTee Bad named entity: LeftTee without a semi-colon 8 B
000902 html5lib/namedEntities/0495 html5lib-tests ⊣ Named entity: LeftTee; with a semi-colon 9 B
000903 html5lib/namedEntities/0496 html5lib-tests &LeftTeeArrow Bad named entity: LeftTeeArrow without a semi-colon 13 B
000904 html5lib/namedEntities/0497 html5lib-tests ↤ Named entity: LeftTeeArrow; with a semi-colon 14 B
000905 html5lib/namedEntities/0498 html5lib-tests &LeftTeeVector Bad named entity: LeftTeeVector without a semi-colon 14 B
000906 html5lib/namedEntities/0499 html5lib-tests ⥚ Named entity: LeftTeeVector; with a semi-colon 15 B
000907 html5lib/namedEntities/0500 html5lib-tests &LeftTriangle Bad named entity: LeftTriangle without a semi-colon 13 B
000908 html5lib/namedEntities/0501 html5lib-tests ⊲ Named entity: LeftTriangle; with a semi-colon 14 B
000909 html5lib/namedEntities/0502 html5lib-tests &LeftTriangleBar Bad named entity: LeftTriangleBar without a semi-colon 16 B
000910 html5lib/namedEntities/0503 html5lib-tests ⧏ Named entity: LeftTriangleBar; with a semi-colon 17 B
000911 html5lib/namedEntities/0504 html5lib-tests &LeftTriangleEqual Bad named entity: LeftTriangleEqual without a semi-colon 18 B
000912 html5lib/namedEntities/0505 html5lib-tests ⊴ Named entity: LeftTriangleEqual; with a semi-colon 19 B
000913 html5lib/namedEntities/0506 html5lib-tests &LeftUpDownVector Bad named entity: LeftUpDownVector without a semi-colon 17 B
000914 html5lib/namedEntities/0507 html5lib-tests ⥑ Named entity: LeftUpDownVector; with a semi-colon 18 B
000915 html5lib/namedEntities/0508 html5lib-tests &LeftUpTeeVector Bad named entity: LeftUpTeeVector without a semi-colon 16 B
000916 html5lib/namedEntities/0509 html5lib-tests ⥠ Named entity: LeftUpTeeVector; with a semi-colon 17 B
000917 html5lib/namedEntities/0510 html5lib-tests &LeftUpVector Bad named entity: LeftUpVector without a semi-colon 13 B
000918 html5lib/namedEntities/0511 html5lib-tests ↿ Named entity: LeftUpVector; with a semi-colon 14 B
000919 html5lib/namedEntities/0512 html5lib-tests &LeftUpVectorBar Bad named entity: LeftUpVectorBar without a semi-colon 16 B
000920 html5lib/namedEntities/0513 html5lib-tests ⥘ Named entity: LeftUpVectorBar; with a semi-colon 17 B
000921 html5lib/namedEntities/0514 html5lib-tests &LeftVector Bad named entity: LeftVector without a semi-colon 11 B
000922 html5lib/namedEntities/0515 html5lib-tests ↼ Named entity: LeftVector; with a semi-colon 12 B
000923 html5lib/namedEntities/0516 html5lib-tests &LeftVectorBar Bad named entity: LeftVectorBar without a semi-colon 14 B
000924 html5lib/namedEntities/0517 html5lib-tests ⥒ Named entity: LeftVectorBar; with a semi-colon 15 B
000925 html5lib/namedEntities/0518 html5lib-tests &Leftarrow Bad named entity: Leftarrow without a semi-colon 10 B
000926 html5lib/namedEntities/0519 html5lib-tests ⇐ Named entity: Leftarrow; with a semi-colon 11 B
000927 html5lib/namedEntities/0520 html5lib-tests &Leftrightarrow Bad named entity: Leftrightarrow without a semi-colon 15 B
000928 html5lib/namedEntities/0521 html5lib-tests ⇔ Named entity: Leftrightarrow; with a semi-colon 16 B
000929 html5lib/namedEntities/0522 html5lib-tests &LessEqualGreater Bad named entity: LessEqualGreater without a semi-colon 17 B
000930 html5lib/namedEntities/0523 html5lib-tests ⋚ Named entity: LessEqualGreater; with a semi-colon 18 B
000931 html5lib/namedEntities/0524 html5lib-tests &LessFullEqual Bad named entity: LessFullEqual without a semi-colon 14 B
000932 html5lib/namedEntities/0525 html5lib-tests ≦ Named entity: LessFullEqual; with a semi-colon 15 B
000933 html5lib/namedEntities/0526 html5lib-tests &LessGreater Bad named entity: LessGreater without a semi-colon 12 B
000934 html5lib/namedEntities/0527 html5lib-tests ≶ Named entity: LessGreater; with a semi-colon 13 B
000935 html5lib/namedEntities/0528 html5lib-tests &LessLess Bad named entity: LessLess without a semi-colon 9 B
000936 html5lib/namedEntities/0529 html5lib-tests ⪡ Named entity: LessLess; with a semi-colon 10 B
000937 html5lib/namedEntities/0530 html5lib-tests &LessSlantEqual Bad named entity: LessSlantEqual without a semi-colon 15 B
000938 html5lib/namedEntities/0531 html5lib-tests ⩽ Named entity: LessSlantEqual; with a semi-colon 16 B
000939 html5lib/namedEntities/0532 html5lib-tests &LessTilde Bad named entity: LessTilde without a semi-colon 10 B
000940 html5lib/namedEntities/0533 html5lib-tests ≲ Named entity: LessTilde; with a semi-colon 11 B
000941 html5lib/namedEntities/0534 html5lib-tests &Lfr Bad named entity: Lfr without a semi-colon 4 B
000942 html5lib/namedEntities/0535 html5lib-tests 𝔏 Named entity: Lfr; with a semi-colon 5 B
000943 html5lib/namedEntities/0536 html5lib-tests &Ll Bad named entity: Ll without a semi-colon 3 B
000944 html5lib/namedEntities/0537 html5lib-tests ⋘ Named entity: Ll; with a semi-colon 4 B
000945 html5lib/namedEntities/0538 html5lib-tests &Lleftarrow Bad named entity: Lleftarrow without a semi-colon 11 B
000946 html5lib/namedEntities/0539 html5lib-tests ⇚ Named entity: Lleftarrow; with a semi-colon 12 B
000947 html5lib/namedEntities/0540 html5lib-tests &Lmidot Bad named entity: Lmidot without a semi-colon 7 B
000948 html5lib/namedEntities/0541 html5lib-tests Ŀ Named entity: Lmidot; with a semi-colon 8 B
000949 html5lib/namedEntities/0542 html5lib-tests &LongLeftArrow Bad named entity: LongLeftArrow without a semi-colon 14 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.