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
000800 html5lib/namedEntities/0393 html5lib-tests ⅈ Named entity: ImaginaryI; with a semi-colon 12 B
000801 html5lib/namedEntities/0394 html5lib-tests &Implies Bad named entity: Implies without a semi-colon 8 B
000802 html5lib/namedEntities/0395 html5lib-tests ⇒ Named entity: Implies; with a semi-colon 9 B
000803 html5lib/namedEntities/0396 html5lib-tests &Int Bad named entity: Int without a semi-colon 4 B
000804 html5lib/namedEntities/0397 html5lib-tests ∬ Named entity: Int; with a semi-colon 5 B
000805 html5lib/namedEntities/0398 html5lib-tests &Integral Bad named entity: Integral without a semi-colon 9 B
000806 html5lib/namedEntities/0399 html5lib-tests ∫ Named entity: Integral; with a semi-colon 10 B
000807 html5lib/namedEntities/0400 html5lib-tests &Intersection Bad named entity: Intersection without a semi-colon 13 B
000808 html5lib/namedEntities/0401 html5lib-tests ⋂ Named entity: Intersection; with a semi-colon 14 B
000809 html5lib/namedEntities/0402 html5lib-tests &InvisibleComma Bad named entity: InvisibleComma without a semi-colon 15 B
000810 html5lib/namedEntities/0403 html5lib-tests ⟨U+2063⟩ Named entity: InvisibleComma; with a semi-colon 16 B
000811 html5lib/namedEntities/0404 html5lib-tests &InvisibleTimes Bad named entity: InvisibleTimes without a semi-colon 15 B
000812 html5lib/namedEntities/0405 html5lib-tests ⟨U+2062⟩ Named entity: InvisibleTimes; with a semi-colon 16 B
000813 html5lib/namedEntities/0406 html5lib-tests &Iogon Bad named entity: Iogon without a semi-colon 6 B
000814 html5lib/namedEntities/0407 html5lib-tests Į Named entity: Iogon; with a semi-colon 7 B
000815 html5lib/namedEntities/0408 html5lib-tests &Iopf Bad named entity: Iopf without a semi-colon 5 B
000816 html5lib/namedEntities/0409 html5lib-tests 𝕀 Named entity: Iopf; with a semi-colon 6 B
000817 html5lib/namedEntities/0410 html5lib-tests &Iota Bad named entity: Iota without a semi-colon 5 B
000818 html5lib/namedEntities/0411 html5lib-tests Ι Named entity: Iota; with a semi-colon 6 B
000819 html5lib/namedEntities/0412 html5lib-tests &Iscr Bad named entity: Iscr without a semi-colon 5 B
000820 html5lib/namedEntities/0413 html5lib-tests ℐ Named entity: Iscr; with a semi-colon 6 B
000821 html5lib/namedEntities/0414 html5lib-tests &Itilde Bad named entity: Itilde without a semi-colon 7 B
000822 html5lib/namedEntities/0415 html5lib-tests Ĩ Named entity: Itilde; with a semi-colon 8 B
000823 html5lib/namedEntities/0416 html5lib-tests &Iukcy Bad named entity: Iukcy without a semi-colon 6 B
000824 html5lib/namedEntities/0417 html5lib-tests І Named entity: Iukcy; with a semi-colon 7 B
000825 html5lib/namedEntities/0418 html5lib-tests Ï Named entity: Iuml without a semi-colon 5 B
000826 html5lib/namedEntities/0419 html5lib-tests Ï Named entity: Iuml; with a semi-colon 6 B
000827 html5lib/namedEntities/0420 html5lib-tests &Jcirc Bad named entity: Jcirc without a semi-colon 6 B
000828 html5lib/namedEntities/0421 html5lib-tests Ĵ Named entity: Jcirc; with a semi-colon 7 B
000829 html5lib/namedEntities/0422 html5lib-tests &Jcy Bad named entity: Jcy without a semi-colon 4 B
000830 html5lib/namedEntities/0423 html5lib-tests Й Named entity: Jcy; with a semi-colon 5 B
000831 html5lib/namedEntities/0424 html5lib-tests &Jfr Bad named entity: Jfr without a semi-colon 4 B
000832 html5lib/namedEntities/0425 html5lib-tests 𝔍 Named entity: Jfr; with a semi-colon 5 B
000833 html5lib/namedEntities/0426 html5lib-tests &Jopf Bad named entity: Jopf without a semi-colon 5 B
000834 html5lib/namedEntities/0427 html5lib-tests 𝕁 Named entity: Jopf; with a semi-colon 6 B
000835 html5lib/namedEntities/0428 html5lib-tests &Jscr Bad named entity: Jscr without a semi-colon 5 B
000836 html5lib/namedEntities/0429 html5lib-tests 𝒥 Named entity: Jscr; with a semi-colon 6 B
000837 html5lib/namedEntities/0430 html5lib-tests &Jsercy Bad named entity: Jsercy without a semi-colon 7 B
000838 html5lib/namedEntities/0431 html5lib-tests Ј Named entity: Jsercy; with a semi-colon 8 B
000839 html5lib/namedEntities/0432 html5lib-tests &Jukcy Bad named entity: Jukcy without a semi-colon 6 B
000840 html5lib/namedEntities/0433 html5lib-tests Є Named entity: Jukcy; with a semi-colon 7 B
000841 html5lib/namedEntities/0434 html5lib-tests &KHcy Bad named entity: KHcy without a semi-colon 5 B
000842 html5lib/namedEntities/0435 html5lib-tests Х Named entity: KHcy; with a semi-colon 6 B
000843 html5lib/namedEntities/0436 html5lib-tests &KJcy Bad named entity: KJcy without a semi-colon 5 B
000844 html5lib/namedEntities/0437 html5lib-tests Ќ Named entity: KJcy; with a semi-colon 6 B
000845 html5lib/namedEntities/0438 html5lib-tests &Kappa Bad named entity: Kappa without a semi-colon 6 B
000846 html5lib/namedEntities/0439 html5lib-tests Κ Named entity: Kappa; with a semi-colon 7 B
000847 html5lib/namedEntities/0440 html5lib-tests &Kcedil Bad named entity: Kcedil without a semi-colon 7 B
000848 html5lib/namedEntities/0441 html5lib-tests Ķ Named entity: Kcedil; with a semi-colon 8 B
000849 html5lib/namedEntities/0442 html5lib-tests &Kcy Bad named entity: Kcy without a semi-colon 4 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.