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
000400 html5lib/numericEntities/0329 html5lib-tests 󟿽 Valid numeric entity character U+DFFFD 9 B
000401 html5lib/numericEntities/0330 html5lib-tests 󠀀 Valid numeric entity character U+E0000 9 B
000402 html5lib/numericEntities/0331 html5lib-tests 󯿽 Valid numeric entity character U+EFFFD 9 B
000403 html5lib/numericEntities/0332 html5lib-tests 󰀀 Valid numeric entity character U+F0000 9 B
000404 html5lib/numericEntities/0333 html5lib-tests 󿿽 Valid numeric entity character U+FFFFD 9 B
000405 html5lib/numericEntities/0334 html5lib-tests 􀀀 Valid numeric entity character U+100000 10 B
000406 html5lib/numericEntities/0335 html5lib-tests 􏿽 Valid numeric entity character U+10FFFD 10 B
000407 html5lib/namedEntities/0000 html5lib-tests Æ Named entity: AElig without a semi-colon 6 B
000408 html5lib/namedEntities/0001 html5lib-tests Æ Named entity: AElig; with a semi-colon 7 B
000409 html5lib/namedEntities/0002 html5lib-tests & Named entity: AMP without a semi-colon 4 B
000410 html5lib/namedEntities/0003 html5lib-tests & Named entity: AMP; with a semi-colon 5 B
000411 html5lib/namedEntities/0004 html5lib-tests Á Named entity: Aacute without a semi-colon 7 B
000412 html5lib/namedEntities/0005 html5lib-tests Á Named entity: Aacute; with a semi-colon 8 B
000413 html5lib/namedEntities/0006 html5lib-tests &Abreve Bad named entity: Abreve without a semi-colon 7 B
000414 html5lib/namedEntities/0007 html5lib-tests Ă Named entity: Abreve; with a semi-colon 8 B
000415 html5lib/namedEntities/0008 html5lib-tests  Named entity: Acirc without a semi-colon 6 B
000416 html5lib/namedEntities/0009 html5lib-tests  Named entity: Acirc; with a semi-colon 7 B
000417 html5lib/namedEntities/0010 html5lib-tests &Acy Bad named entity: Acy without a semi-colon 4 B
000418 html5lib/namedEntities/0011 html5lib-tests А Named entity: Acy; with a semi-colon 5 B
000419 html5lib/namedEntities/0012 html5lib-tests &Afr Bad named entity: Afr without a semi-colon 4 B
000420 html5lib/namedEntities/0013 html5lib-tests 𝔄 Named entity: Afr; with a semi-colon 5 B
000421 html5lib/namedEntities/0014 html5lib-tests À Named entity: Agrave without a semi-colon 7 B
000422 html5lib/namedEntities/0015 html5lib-tests À Named entity: Agrave; with a semi-colon 8 B
000423 html5lib/namedEntities/0016 html5lib-tests &Alpha Bad named entity: Alpha without a semi-colon 6 B
000424 html5lib/namedEntities/0017 html5lib-tests Α Named entity: Alpha; with a semi-colon 7 B
000425 html5lib/namedEntities/0018 html5lib-tests &Amacr Bad named entity: Amacr without a semi-colon 6 B
000426 html5lib/namedEntities/0019 html5lib-tests Ā Named entity: Amacr; with a semi-colon 7 B
000427 html5lib/namedEntities/0020 html5lib-tests &And Bad named entity: And without a semi-colon 4 B
000428 html5lib/namedEntities/0021 html5lib-tests ⩓ Named entity: And; with a semi-colon 5 B
000429 html5lib/namedEntities/0022 html5lib-tests &Aogon Bad named entity: Aogon without a semi-colon 6 B
000430 html5lib/namedEntities/0023 html5lib-tests Ą Named entity: Aogon; with a semi-colon 7 B
000431 html5lib/namedEntities/0024 html5lib-tests &Aopf Bad named entity: Aopf without a semi-colon 5 B
000432 html5lib/namedEntities/0025 html5lib-tests 𝔸 Named entity: Aopf; with a semi-colon 6 B
000433 html5lib/namedEntities/0026 html5lib-tests &ApplyFunction Bad named entity: ApplyFunction without a semi-colon 14 B
000434 html5lib/namedEntities/0027 html5lib-tests ⟨U+2061⟩ Named entity: ApplyFunction; with a semi-colon 15 B
000435 html5lib/namedEntities/0028 html5lib-tests Å Named entity: Aring without a semi-colon 6 B
000436 html5lib/namedEntities/0029 html5lib-tests Å Named entity: Aring; with a semi-colon 7 B
000437 html5lib/namedEntities/0030 html5lib-tests &Ascr Bad named entity: Ascr without a semi-colon 5 B
000438 html5lib/namedEntities/0031 html5lib-tests 𝒜 Named entity: Ascr; with a semi-colon 6 B
000439 html5lib/namedEntities/0032 html5lib-tests &Assign Bad named entity: Assign without a semi-colon 7 B
000440 html5lib/namedEntities/0033 html5lib-tests ≔ Named entity: Assign; with a semi-colon 8 B
000441 html5lib/namedEntities/0034 html5lib-tests à Named entity: Atilde without a semi-colon 7 B
000442 html5lib/namedEntities/0035 html5lib-tests à Named entity: Atilde; with a semi-colon 8 B
000443 html5lib/namedEntities/0036 html5lib-tests Ä Named entity: Auml without a semi-colon 5 B
000444 html5lib/namedEntities/0037 html5lib-tests Ä Named entity: Auml; with a semi-colon 6 B
000445 html5lib/namedEntities/0038 html5lib-tests &Backslash Bad named entity: Backslash without a semi-colon 10 B
000446 html5lib/namedEntities/0039 html5lib-tests ∖ Named entity: Backslash; with a semi-colon 11 B
000447 html5lib/namedEntities/0040 html5lib-tests &Barv Bad named entity: Barv without a semi-colon 5 B
000448 html5lib/namedEntities/0041 html5lib-tests ⫧ Named entity: Barv; with a semi-colon 6 B
000449 html5lib/namedEntities/0042 html5lib-tests &Barwed Bad named entity: Barwed without a semi-colon 7 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.