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
000604 html5lib/namedEntities/0197 html5lib-tests ⇒ Named entity: DoubleRightArrow; with a semi-colon 18 B
000605 html5lib/namedEntities/0198 html5lib-tests &DoubleRightTee Bad named entity: DoubleRightTee without a semi-colon 15 B
000606 html5lib/namedEntities/0199 html5lib-tests ⊨ Named entity: DoubleRightTee; with a semi-colon 16 B
000607 html5lib/namedEntities/0200 html5lib-tests &DoubleUpArrow Bad named entity: DoubleUpArrow without a semi-colon 14 B
000608 html5lib/namedEntities/0201 html5lib-tests ⇑ Named entity: DoubleUpArrow; with a semi-colon 15 B
000609 html5lib/namedEntities/0202 html5lib-tests &DoubleUpDownArrow Bad named entity: DoubleUpDownArrow without a semi-colon 18 B
000610 html5lib/namedEntities/0203 html5lib-tests ⇕ Named entity: DoubleUpDownArrow; with a semi-colon 19 B
000611 html5lib/namedEntities/0204 html5lib-tests &DoubleVerticalBar Bad named entity: DoubleVerticalBar without a semi-colon 18 B
000612 html5lib/namedEntities/0205 html5lib-tests ∥ Named entity: DoubleVerticalBar; with a semi-colon 19 B
000613 html5lib/namedEntities/0206 html5lib-tests &DownArrow Bad named entity: DownArrow without a semi-colon 10 B
000614 html5lib/namedEntities/0207 html5lib-tests ↓ Named entity: DownArrow; with a semi-colon 11 B
000615 html5lib/namedEntities/0208 html5lib-tests &DownArrowBar Bad named entity: DownArrowBar without a semi-colon 13 B
000616 html5lib/namedEntities/0209 html5lib-tests ⤓ Named entity: DownArrowBar; with a semi-colon 14 B
000617 html5lib/namedEntities/0210 html5lib-tests &DownArrowUpArrow Bad named entity: DownArrowUpArrow without a semi-colon 17 B
000618 html5lib/namedEntities/0211 html5lib-tests ⇵ Named entity: DownArrowUpArrow; with a semi-colon 18 B
000619 html5lib/namedEntities/0212 html5lib-tests &DownBreve Bad named entity: DownBreve without a semi-colon 10 B
000620 html5lib/namedEntities/0213 html5lib-tests ̑ Named entity: DownBreve; with a semi-colon 11 B
000621 html5lib/namedEntities/0214 html5lib-tests &DownLeftRightVector Bad named entity: DownLeftRightVector without a semi-colon 20 B
000622 html5lib/namedEntities/0215 html5lib-tests ⥐ Named entity: DownLeftRightVector; with a semi-colon 21 B
000623 html5lib/namedEntities/0216 html5lib-tests &DownLeftTeeVector Bad named entity: DownLeftTeeVector without a semi-colon 18 B
000624 html5lib/namedEntities/0217 html5lib-tests ⥞ Named entity: DownLeftTeeVector; with a semi-colon 19 B
000625 html5lib/namedEntities/0218 html5lib-tests &DownLeftVector Bad named entity: DownLeftVector without a semi-colon 15 B
000626 html5lib/namedEntities/0219 html5lib-tests ↽ Named entity: DownLeftVector; with a semi-colon 16 B
000627 html5lib/namedEntities/0220 html5lib-tests &DownLeftVectorBar Bad named entity: DownLeftVectorBar without a semi-colon 18 B
000628 html5lib/namedEntities/0221 html5lib-tests ⥖ Named entity: DownLeftVectorBar; with a semi-colon 19 B
000629 html5lib/namedEntities/0222 html5lib-tests &DownRightTeeVector Bad named entity: DownRightTeeVector without a semi-colon 19 B
000630 html5lib/namedEntities/0223 html5lib-tests ⥟ Named entity: DownRightTeeVector; with a semi-colon 20 B
000631 html5lib/namedEntities/0224 html5lib-tests &DownRightVector Bad named entity: DownRightVector without a semi-colon 16 B
000632 html5lib/namedEntities/0225 html5lib-tests ⇁ Named entity: DownRightVector; with a semi-colon 17 B
000633 html5lib/namedEntities/0226 html5lib-tests &DownRightVectorBar Bad named entity: DownRightVectorBar without a semi-colon 19 B
000634 html5lib/namedEntities/0227 html5lib-tests ⥗ Named entity: DownRightVectorBar; with a semi-colon 20 B
000635 html5lib/namedEntities/0228 html5lib-tests &DownTee Bad named entity: DownTee without a semi-colon 8 B
000636 html5lib/namedEntities/0229 html5lib-tests ⊤ Named entity: DownTee; with a semi-colon 9 B
000637 html5lib/namedEntities/0230 html5lib-tests &DownTeeArrow Bad named entity: DownTeeArrow without a semi-colon 13 B
000638 html5lib/namedEntities/0231 html5lib-tests ↧ Named entity: DownTeeArrow; with a semi-colon 14 B
000639 html5lib/namedEntities/0232 html5lib-tests &Downarrow Bad named entity: Downarrow without a semi-colon 10 B
000640 html5lib/namedEntities/0233 html5lib-tests ⇓ Named entity: Downarrow; with a semi-colon 11 B
000641 html5lib/namedEntities/0234 html5lib-tests &Dscr Bad named entity: Dscr without a semi-colon 5 B
000642 html5lib/namedEntities/0235 html5lib-tests 𝒟 Named entity: Dscr; with a semi-colon 6 B
000643 html5lib/namedEntities/0236 html5lib-tests &Dstrok Bad named entity: Dstrok without a semi-colon 7 B
000644 html5lib/namedEntities/0237 html5lib-tests Đ Named entity: Dstrok; with a semi-colon 8 B
000645 html5lib/namedEntities/0238 html5lib-tests &ENG Bad named entity: ENG without a semi-colon 4 B
000646 html5lib/namedEntities/0239 html5lib-tests Ŋ Named entity: ENG; with a semi-colon 5 B
000647 html5lib/namedEntities/0240 html5lib-tests Ð Named entity: ETH without a semi-colon 4 B
000648 html5lib/namedEntities/0241 html5lib-tests Ð Named entity: ETH; with a semi-colon 5 B
000649 html5lib/namedEntities/0242 html5lib-tests É Named entity: Eacute without a semi-colon 7 B
000650 html5lib/namedEntities/0243 html5lib-tests É Named entity: Eacute; with a semi-colon 8 B
000651 html5lib/namedEntities/0244 html5lib-tests &Ecaron Bad named entity: Ecaron without a semi-colon 7 B
000652 html5lib/namedEntities/0245 html5lib-tests Ě Named entity: Ecaron; with a semi-colon 8 B
000653 html5lib/namedEntities/0246 html5lib-tests Ê Named entity: Ecirc without a semi-colon 6 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.