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
003450 html5lib/namedEntities/3043 html5lib-tests ó Named entity: oacute; with a semi-colon 8 B
003451 html5lib/namedEntities/3044 html5lib-tests &oast Bad named entity: oast without a semi-colon 5 B
003452 html5lib/namedEntities/3045 html5lib-tests ⊛ Named entity: oast; with a semi-colon 6 B
003453 html5lib/namedEntities/3046 html5lib-tests &ocir Bad named entity: ocir without a semi-colon 5 B
003454 html5lib/namedEntities/3047 html5lib-tests ⊚ Named entity: ocir; with a semi-colon 6 B
003455 html5lib/namedEntities/3048 html5lib-tests ô Named entity: ocirc without a semi-colon 6 B
003456 html5lib/namedEntities/3049 html5lib-tests ô Named entity: ocirc; with a semi-colon 7 B
003457 html5lib/namedEntities/3050 html5lib-tests &ocy Bad named entity: ocy without a semi-colon 4 B
003458 html5lib/namedEntities/3051 html5lib-tests о Named entity: ocy; with a semi-colon 5 B
003459 html5lib/namedEntities/3052 html5lib-tests &odash Bad named entity: odash without a semi-colon 6 B
003460 html5lib/namedEntities/3053 html5lib-tests ⊝ Named entity: odash; with a semi-colon 7 B
003461 html5lib/namedEntities/3054 html5lib-tests &odblac Bad named entity: odblac without a semi-colon 7 B
003462 html5lib/namedEntities/3055 html5lib-tests ő Named entity: odblac; with a semi-colon 8 B
003463 html5lib/namedEntities/3056 html5lib-tests &odiv Bad named entity: odiv without a semi-colon 5 B
003464 html5lib/namedEntities/3057 html5lib-tests ⨸ Named entity: odiv; with a semi-colon 6 B
003465 html5lib/namedEntities/3058 html5lib-tests &odot Bad named entity: odot without a semi-colon 5 B
003466 html5lib/namedEntities/3059 html5lib-tests ⊙ Named entity: odot; with a semi-colon 6 B
003467 html5lib/namedEntities/3060 html5lib-tests &odsold Bad named entity: odsold without a semi-colon 7 B
003468 html5lib/namedEntities/3061 html5lib-tests ⦼ Named entity: odsold; with a semi-colon 8 B
003469 html5lib/namedEntities/3062 html5lib-tests &oelig Bad named entity: oelig without a semi-colon 6 B
003470 html5lib/namedEntities/3063 html5lib-tests œ Named entity: oelig; with a semi-colon 7 B
003471 html5lib/namedEntities/3064 html5lib-tests &ofcir Bad named entity: ofcir without a semi-colon 6 B
003472 html5lib/namedEntities/3065 html5lib-tests ⦿ Named entity: ofcir; with a semi-colon 7 B
003473 html5lib/namedEntities/3066 html5lib-tests &ofr Bad named entity: ofr without a semi-colon 4 B
003474 html5lib/namedEntities/3067 html5lib-tests 𝔬 Named entity: ofr; with a semi-colon 5 B
003475 html5lib/namedEntities/3068 html5lib-tests &ogon Bad named entity: ogon without a semi-colon 5 B
003476 html5lib/namedEntities/3069 html5lib-tests ˛ Named entity: ogon; with a semi-colon 6 B
003477 html5lib/namedEntities/3070 html5lib-tests ò Named entity: ograve without a semi-colon 7 B
003478 html5lib/namedEntities/3071 html5lib-tests ò Named entity: ograve; with a semi-colon 8 B
003479 html5lib/namedEntities/3072 html5lib-tests &ogt Bad named entity: ogt without a semi-colon 4 B
003480 html5lib/namedEntities/3073 html5lib-tests ⧁ Named entity: ogt; with a semi-colon 5 B
003481 html5lib/namedEntities/3074 html5lib-tests &ohbar Bad named entity: ohbar without a semi-colon 6 B
003482 html5lib/namedEntities/3075 html5lib-tests ⦵ Named entity: ohbar; with a semi-colon 7 B
003483 html5lib/namedEntities/3076 html5lib-tests &ohm Bad named entity: ohm without a semi-colon 4 B
003484 html5lib/namedEntities/3077 html5lib-tests Ω Named entity: ohm; with a semi-colon 5 B
003485 html5lib/namedEntities/3078 html5lib-tests &oint Bad named entity: oint without a semi-colon 5 B
003486 html5lib/namedEntities/3079 html5lib-tests ∮ Named entity: oint; with a semi-colon 6 B
003487 html5lib/namedEntities/3080 html5lib-tests &olarr Bad named entity: olarr without a semi-colon 6 B
003488 html5lib/namedEntities/3081 html5lib-tests ↺ Named entity: olarr; with a semi-colon 7 B
003489 html5lib/namedEntities/3082 html5lib-tests &olcir Bad named entity: olcir without a semi-colon 6 B
003490 html5lib/namedEntities/3083 html5lib-tests ⦾ Named entity: olcir; with a semi-colon 7 B
003491 html5lib/namedEntities/3084 html5lib-tests &olcross Bad named entity: olcross without a semi-colon 8 B
003492 html5lib/namedEntities/3085 html5lib-tests ⦻ Named entity: olcross; with a semi-colon 9 B
003493 html5lib/namedEntities/3086 html5lib-tests &oline Bad named entity: oline without a semi-colon 6 B
003494 html5lib/namedEntities/3087 html5lib-tests ‾ Named entity: oline; with a semi-colon 7 B
003495 html5lib/namedEntities/3088 html5lib-tests &olt Bad named entity: olt without a semi-colon 4 B
003496 html5lib/namedEntities/3089 html5lib-tests ⧀ Named entity: olt; with a semi-colon 5 B
003497 html5lib/namedEntities/3090 html5lib-tests &omacr Bad named entity: omacr without a semi-colon 6 B
003498 html5lib/namedEntities/3091 html5lib-tests ō Named entity: omacr; with a semi-colon 7 B
003499 html5lib/namedEntities/3092 html5lib-tests &omega Bad named entity: omega 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.