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
000754 html5lib/namedEntities/0347 html5lib-tests Ъ Named entity: HARDcy; with a semi-colon 8 B
000755 html5lib/namedEntities/0348 html5lib-tests &Hacek Bad named entity: Hacek without a semi-colon 6 B
000756 html5lib/namedEntities/0349 html5lib-tests ˇ Named entity: Hacek; with a semi-colon 7 B
000757 html5lib/namedEntities/0350 html5lib-tests &Hat Bad named entity: Hat without a semi-colon 4 B
000758 html5lib/namedEntities/0351 html5lib-tests ^ Named entity: Hat; with a semi-colon 5 B
000759 html5lib/namedEntities/0352 html5lib-tests &Hcirc Bad named entity: Hcirc without a semi-colon 6 B
000760 html5lib/namedEntities/0353 html5lib-tests Ĥ Named entity: Hcirc; with a semi-colon 7 B
000761 html5lib/namedEntities/0354 html5lib-tests &Hfr Bad named entity: Hfr without a semi-colon 4 B
000762 html5lib/namedEntities/0355 html5lib-tests ℌ Named entity: Hfr; with a semi-colon 5 B
000763 html5lib/namedEntities/0356 html5lib-tests &HilbertSpace Bad named entity: HilbertSpace without a semi-colon 13 B
000764 html5lib/namedEntities/0357 html5lib-tests ℋ Named entity: HilbertSpace; with a semi-colon 14 B
000765 html5lib/namedEntities/0358 html5lib-tests &Hopf Bad named entity: Hopf without a semi-colon 5 B
000766 html5lib/namedEntities/0359 html5lib-tests ℍ Named entity: Hopf; with a semi-colon 6 B
000767 html5lib/namedEntities/0360 html5lib-tests &HorizontalLine Bad named entity: HorizontalLine without a semi-colon 15 B
000768 html5lib/namedEntities/0361 html5lib-tests ─ Named entity: HorizontalLine; with a semi-colon 16 B
000769 html5lib/namedEntities/0362 html5lib-tests &Hscr Bad named entity: Hscr without a semi-colon 5 B
000770 html5lib/namedEntities/0363 html5lib-tests ℋ Named entity: Hscr; with a semi-colon 6 B
000771 html5lib/namedEntities/0364 html5lib-tests &Hstrok Bad named entity: Hstrok without a semi-colon 7 B
000772 html5lib/namedEntities/0365 html5lib-tests Ħ Named entity: Hstrok; with a semi-colon 8 B
000773 html5lib/namedEntities/0366 html5lib-tests &HumpDownHump Bad named entity: HumpDownHump without a semi-colon 13 B
000774 html5lib/namedEntities/0367 html5lib-tests ≎ Named entity: HumpDownHump; with a semi-colon 14 B
000775 html5lib/namedEntities/0368 html5lib-tests &HumpEqual Bad named entity: HumpEqual without a semi-colon 10 B
000776 html5lib/namedEntities/0369 html5lib-tests ≏ Named entity: HumpEqual; with a semi-colon 11 B
000777 html5lib/namedEntities/0370 html5lib-tests &IEcy Bad named entity: IEcy without a semi-colon 5 B
000778 html5lib/namedEntities/0371 html5lib-tests Е Named entity: IEcy; with a semi-colon 6 B
000779 html5lib/namedEntities/0372 html5lib-tests &IJlig Bad named entity: IJlig without a semi-colon 6 B
000780 html5lib/namedEntities/0373 html5lib-tests IJ Named entity: IJlig; with a semi-colon 7 B
000781 html5lib/namedEntities/0374 html5lib-tests &IOcy Bad named entity: IOcy without a semi-colon 5 B
000782 html5lib/namedEntities/0375 html5lib-tests Ё Named entity: IOcy; with a semi-colon 6 B
000783 html5lib/namedEntities/0376 html5lib-tests Í Named entity: Iacute without a semi-colon 7 B
000784 html5lib/namedEntities/0377 html5lib-tests Í Named entity: Iacute; with a semi-colon 8 B
000785 html5lib/namedEntities/0378 html5lib-tests Î Named entity: Icirc without a semi-colon 6 B
000786 html5lib/namedEntities/0379 html5lib-tests Î Named entity: Icirc; with a semi-colon 7 B
000787 html5lib/namedEntities/0380 html5lib-tests &Icy Bad named entity: Icy without a semi-colon 4 B
000788 html5lib/namedEntities/0381 html5lib-tests И Named entity: Icy; with a semi-colon 5 B
000789 html5lib/namedEntities/0382 html5lib-tests &Idot Bad named entity: Idot without a semi-colon 5 B
000790 html5lib/namedEntities/0383 html5lib-tests İ Named entity: Idot; with a semi-colon 6 B
000791 html5lib/namedEntities/0384 html5lib-tests &Ifr Bad named entity: Ifr without a semi-colon 4 B
000792 html5lib/namedEntities/0385 html5lib-tests ℑ Named entity: Ifr; with a semi-colon 5 B
000793 html5lib/namedEntities/0386 html5lib-tests Ì Named entity: Igrave without a semi-colon 7 B
000794 html5lib/namedEntities/0387 html5lib-tests Ì Named entity: Igrave; with a semi-colon 8 B
000795 html5lib/namedEntities/0388 html5lib-tests &Im Bad named entity: Im without a semi-colon 3 B
000796 html5lib/namedEntities/0389 html5lib-tests ℑ Named entity: Im; with a semi-colon 4 B
000797 html5lib/namedEntities/0390 html5lib-tests &Imacr Bad named entity: Imacr without a semi-colon 6 B
000798 html5lib/namedEntities/0391 html5lib-tests Ī Named entity: Imacr; with a semi-colon 7 B
000799 html5lib/namedEntities/0392 html5lib-tests &ImaginaryI Bad named entity: ImaginaryI without a semi-colon 11 B
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

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.