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
003550 html5lib/namedEntities/3143 html5lib-tests ö Named entity: ouml; with a semi-colon 6 B
003551 html5lib/namedEntities/3144 html5lib-tests &ovbar Bad named entity: ovbar without a semi-colon 6 B
003552 html5lib/namedEntities/3145 html5lib-tests ⌽ Named entity: ovbar; with a semi-colon 7 B
003553 html5lib/namedEntities/3146 html5lib-tests &par Bad named entity: par without a semi-colon 4 B
003554 html5lib/namedEntities/3147 html5lib-tests ∥ Named entity: par; with a semi-colon 5 B
003555 html5lib/namedEntities/3148 html5lib-tests Named entity: para without a semi-colon 5 B
003556 html5lib/namedEntities/3149 html5lib-tests Named entity: para; with a semi-colon 6 B
003557 html5lib/namedEntities/3150 html5lib-tests ∥ Named entity: parallel; with a semi-colon 10 B
003558 html5lib/namedEntities/3151 html5lib-tests &parsim Bad named entity: parsim without a semi-colon 7 B
003559 html5lib/namedEntities/3152 html5lib-tests ⫳ Named entity: parsim; with a semi-colon 8 B
003560 html5lib/namedEntities/3153 html5lib-tests &parsl Bad named entity: parsl without a semi-colon 6 B
003561 html5lib/namedEntities/3154 html5lib-tests ⫽ Named entity: parsl; with a semi-colon 7 B
003562 html5lib/namedEntities/3155 html5lib-tests &part Bad named entity: part without a semi-colon 5 B
003563 html5lib/namedEntities/3156 html5lib-tests ∂ Named entity: part; with a semi-colon 6 B
003564 html5lib/namedEntities/3157 html5lib-tests &pcy Bad named entity: pcy without a semi-colon 4 B
003565 html5lib/namedEntities/3158 html5lib-tests п Named entity: pcy; with a semi-colon 5 B
003566 html5lib/namedEntities/3159 html5lib-tests &percnt Bad named entity: percnt without a semi-colon 7 B
003567 html5lib/namedEntities/3160 html5lib-tests % Named entity: percnt; with a semi-colon 8 B
003568 html5lib/namedEntities/3161 html5lib-tests &period Bad named entity: period without a semi-colon 7 B
003569 html5lib/namedEntities/3162 html5lib-tests . Named entity: period; with a semi-colon 8 B
003570 html5lib/namedEntities/3163 html5lib-tests &permil Bad named entity: permil without a semi-colon 7 B
003571 html5lib/namedEntities/3164 html5lib-tests ‰ Named entity: permil; with a semi-colon 8 B
003572 html5lib/namedEntities/3165 html5lib-tests &perp Bad named entity: perp without a semi-colon 5 B
003573 html5lib/namedEntities/3166 html5lib-tests ⊥ Named entity: perp; with a semi-colon 6 B
003574 html5lib/namedEntities/3167 html5lib-tests &pertenk Bad named entity: pertenk without a semi-colon 8 B
003575 html5lib/namedEntities/3168 html5lib-tests ‱ Named entity: pertenk; with a semi-colon 9 B
003576 html5lib/namedEntities/3169 html5lib-tests &pfr Bad named entity: pfr without a semi-colon 4 B
003577 html5lib/namedEntities/3170 html5lib-tests 𝔭 Named entity: pfr; with a semi-colon 5 B
003578 html5lib/namedEntities/3171 html5lib-tests &phi Bad named entity: phi without a semi-colon 4 B
003579 html5lib/namedEntities/3172 html5lib-tests φ Named entity: phi; with a semi-colon 5 B
003580 html5lib/namedEntities/3173 html5lib-tests &phiv Bad named entity: phiv without a semi-colon 5 B
003581 html5lib/namedEntities/3174 html5lib-tests ϕ Named entity: phiv; with a semi-colon 6 B
003582 html5lib/namedEntities/3175 html5lib-tests &phmmat Bad named entity: phmmat without a semi-colon 7 B
003583 html5lib/namedEntities/3176 html5lib-tests ℳ Named entity: phmmat; with a semi-colon 8 B
003584 html5lib/namedEntities/3177 html5lib-tests &phone Bad named entity: phone without a semi-colon 6 B
003585 html5lib/namedEntities/3178 html5lib-tests ☎ Named entity: phone; with a semi-colon 7 B
003586 html5lib/namedEntities/3179 html5lib-tests &pi Bad named entity: pi without a semi-colon 3 B
003587 html5lib/namedEntities/3180 html5lib-tests π Named entity: pi; with a semi-colon 4 B
003588 html5lib/namedEntities/3181 html5lib-tests &pitchfork Bad named entity: pitchfork without a semi-colon 10 B
003589 html5lib/namedEntities/3182 html5lib-tests ⋔ Named entity: pitchfork; with a semi-colon 11 B
003590 html5lib/namedEntities/3183 html5lib-tests &piv Bad named entity: piv without a semi-colon 4 B
003591 html5lib/namedEntities/3184 html5lib-tests ϖ Named entity: piv; with a semi-colon 5 B
003592 html5lib/namedEntities/3185 html5lib-tests &planck Bad named entity: planck without a semi-colon 7 B
003593 html5lib/namedEntities/3186 html5lib-tests ℏ Named entity: planck; with a semi-colon 8 B
003594 html5lib/namedEntities/3187 html5lib-tests &planckh Bad named entity: planckh without a semi-colon 8 B
003595 html5lib/namedEntities/3188 html5lib-tests ℎ Named entity: planckh; with a semi-colon 9 B
003596 html5lib/namedEntities/3189 html5lib-tests &plankv Bad named entity: plankv without a semi-colon 7 B
003597 html5lib/namedEntities/3190 html5lib-tests ℏ Named entity: plankv; with a semi-colon 8 B
003598 html5lib/namedEntities/3191 html5lib-tests &plus Bad named entity: plus without a semi-colon 5 B
003599 html5lib/namedEntities/3192 html5lib-tests + Named entity: plus; with 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.