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
000554 html5lib/namedEntities/0147 html5lib-tests Ď Named entity: Dcaron; with a semi-colon 8 B
000555 html5lib/namedEntities/0148 html5lib-tests &Dcy Bad named entity: Dcy without a semi-colon 4 B
000556 html5lib/namedEntities/0149 html5lib-tests Д Named entity: Dcy; with a semi-colon 5 B
000557 html5lib/namedEntities/0150 html5lib-tests &Del Bad named entity: Del without a semi-colon 4 B
000558 html5lib/namedEntities/0151 html5lib-tests ∇ Named entity: Del; with a semi-colon 5 B
000559 html5lib/namedEntities/0152 html5lib-tests &Delta Bad named entity: Delta without a semi-colon 6 B
000560 html5lib/namedEntities/0153 html5lib-tests Δ Named entity: Delta; with a semi-colon 7 B
000561 html5lib/namedEntities/0154 html5lib-tests &Dfr Bad named entity: Dfr without a semi-colon 4 B
000562 html5lib/namedEntities/0155 html5lib-tests 𝔇 Named entity: Dfr; with a semi-colon 5 B
000563 html5lib/namedEntities/0156 html5lib-tests &DiacriticalAcute Bad named entity: DiacriticalAcute without a semi-colon 17 B
000564 html5lib/namedEntities/0157 html5lib-tests ´ Named entity: DiacriticalAcute; with a semi-colon 18 B
000565 html5lib/namedEntities/0158 html5lib-tests &DiacriticalDot Bad named entity: DiacriticalDot without a semi-colon 15 B
000566 html5lib/namedEntities/0159 html5lib-tests ˙ Named entity: DiacriticalDot; with a semi-colon 16 B
000567 html5lib/namedEntities/0160 html5lib-tests &DiacriticalDoubleAcute Bad named entity: DiacriticalDoubleAcute without a semi-colon 23 B
000568 html5lib/namedEntities/0161 html5lib-tests ˝ Named entity: DiacriticalDoubleAcute; with a semi-colon 24 B
000569 html5lib/namedEntities/0162 html5lib-tests &DiacriticalGrave Bad named entity: DiacriticalGrave without a semi-colon 17 B
000570 html5lib/namedEntities/0163 html5lib-tests ` Named entity: DiacriticalGrave; with a semi-colon 18 B
000571 html5lib/namedEntities/0164 html5lib-tests &DiacriticalTilde Bad named entity: DiacriticalTilde without a semi-colon 17 B
000572 html5lib/namedEntities/0165 html5lib-tests ˜ Named entity: DiacriticalTilde; with a semi-colon 18 B
000573 html5lib/namedEntities/0166 html5lib-tests &Diamond Bad named entity: Diamond without a semi-colon 8 B
000574 html5lib/namedEntities/0167 html5lib-tests ⋄ Named entity: Diamond; with a semi-colon 9 B
000575 html5lib/namedEntities/0168 html5lib-tests &DifferentialD Bad named entity: DifferentialD without a semi-colon 14 B
000576 html5lib/namedEntities/0169 html5lib-tests ⅆ Named entity: DifferentialD; with a semi-colon 15 B
000577 html5lib/namedEntities/0170 html5lib-tests &Dopf Bad named entity: Dopf without a semi-colon 5 B
000578 html5lib/namedEntities/0171 html5lib-tests 𝔻 Named entity: Dopf; with a semi-colon 6 B
000579 html5lib/namedEntities/0172 html5lib-tests &Dot Bad named entity: Dot without a semi-colon 4 B
000580 html5lib/namedEntities/0173 html5lib-tests ¨ Named entity: Dot; with a semi-colon 5 B
000581 html5lib/namedEntities/0174 html5lib-tests &DotDot Bad named entity: DotDot without a semi-colon 7 B
000582 html5lib/namedEntities/0175 html5lib-tests ⃜ Named entity: DotDot; with a semi-colon 8 B
000583 html5lib/namedEntities/0176 html5lib-tests &DotEqual Bad named entity: DotEqual without a semi-colon 9 B
000584 html5lib/namedEntities/0177 html5lib-tests ≐ Named entity: DotEqual; with a semi-colon 10 B
000585 html5lib/namedEntities/0178 html5lib-tests &DoubleContourIntegral Bad named entity: DoubleContourIntegral without a semi-colon 22 B
000586 html5lib/namedEntities/0179 html5lib-tests ∯ Named entity: DoubleContourIntegral; with a semi-colon 23 B
000587 html5lib/namedEntities/0180 html5lib-tests &DoubleDot Bad named entity: DoubleDot without a semi-colon 10 B
000588 html5lib/namedEntities/0181 html5lib-tests ¨ Named entity: DoubleDot; with a semi-colon 11 B
000589 html5lib/namedEntities/0182 html5lib-tests &DoubleDownArrow Bad named entity: DoubleDownArrow without a semi-colon 16 B
000590 html5lib/namedEntities/0183 html5lib-tests ⇓ Named entity: DoubleDownArrow; with a semi-colon 17 B
000591 html5lib/namedEntities/0184 html5lib-tests &DoubleLeftArrow Bad named entity: DoubleLeftArrow without a semi-colon 16 B
000592 html5lib/namedEntities/0185 html5lib-tests ⇐ Named entity: DoubleLeftArrow; with a semi-colon 17 B
000593 html5lib/namedEntities/0186 html5lib-tests &DoubleLeftRightArrow Bad named entity: DoubleLeftRightArrow without a semi-colon 21 B
000594 html5lib/namedEntities/0187 html5lib-tests ⇔ Named entity: DoubleLeftRightArrow; with a semi-colon 22 B
000595 html5lib/namedEntities/0188 html5lib-tests &DoubleLeftTee Bad named entity: DoubleLeftTee without a semi-colon 14 B
000596 html5lib/namedEntities/0189 html5lib-tests ⫤ Named entity: DoubleLeftTee; with a semi-colon 15 B
000597 html5lib/namedEntities/0190 html5lib-tests &DoubleLongLeftArrow Bad named entity: DoubleLongLeftArrow without a semi-colon 20 B
000598 html5lib/namedEntities/0191 html5lib-tests ⟸ Named entity: DoubleLongLeftArrow; with a semi-colon 21 B
000599 html5lib/namedEntities/0192 html5lib-tests &DoubleLongLeftRightArrow Bad named entity: DoubleLongLeftRightArrow without a semi-colon 25 B
000600 html5lib/namedEntities/0193 html5lib-tests ⟺ Named entity: DoubleLongLeftRightArrow; with a semi-colon 26 B
000601 html5lib/namedEntities/0194 html5lib-tests &DoubleLongRightArrow Bad named entity: DoubleLongRightArrow without a semi-colon 21 B
000602 html5lib/namedEntities/0195 html5lib-tests ⟹ Named entity: DoubleLongRightArrow; with a semi-colon 22 B
000603 html5lib/namedEntities/0196 html5lib-tests &DoubleRightArrow Bad named entity: DoubleRightArrow without a semi-colon 17 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.