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
004150 html5lib/namedEntities/3743 html5lib-tests &sung Bad named entity: sung without a semi-colon 5 B
004151 html5lib/namedEntities/3744 html5lib-tests ♪ Named entity: sung; with a semi-colon 6 B
004152 html5lib/namedEntities/3745 html5lib-tests &sup Bad named entity: sup without a semi-colon 4 B
004153 html5lib/namedEntities/3746 html5lib-tests ¹ Named entity: sup1 without a semi-colon 5 B
004154 html5lib/namedEntities/3747 html5lib-tests ¹ Named entity: sup1; with a semi-colon 6 B
004155 html5lib/namedEntities/3748 html5lib-tests ² Named entity: sup2 without a semi-colon 5 B
004156 html5lib/namedEntities/3749 html5lib-tests ² Named entity: sup2; with a semi-colon 6 B
004157 html5lib/namedEntities/3750 html5lib-tests ³ Named entity: sup3 without a semi-colon 5 B
004158 html5lib/namedEntities/3751 html5lib-tests ³ Named entity: sup3; with a semi-colon 6 B
004159 html5lib/namedEntities/3752 html5lib-tests ⊃ Named entity: sup; with a semi-colon 5 B
004160 html5lib/namedEntities/3753 html5lib-tests &supE Bad named entity: supE without a semi-colon 5 B
004161 html5lib/namedEntities/3754 html5lib-tests ⫆ Named entity: supE; with a semi-colon 6 B
004162 html5lib/namedEntities/3755 html5lib-tests &supdot Bad named entity: supdot without a semi-colon 7 B
004163 html5lib/namedEntities/3756 html5lib-tests ⪾ Named entity: supdot; with a semi-colon 8 B
004164 html5lib/namedEntities/3757 html5lib-tests &supdsub Bad named entity: supdsub without a semi-colon 8 B
004165 html5lib/namedEntities/3758 html5lib-tests ⫘ Named entity: supdsub; with a semi-colon 9 B
004166 html5lib/namedEntities/3759 html5lib-tests &supe Bad named entity: supe without a semi-colon 5 B
004167 html5lib/namedEntities/3760 html5lib-tests ⊇ Named entity: supe; with a semi-colon 6 B
004168 html5lib/namedEntities/3761 html5lib-tests &supedot Bad named entity: supedot without a semi-colon 8 B
004169 html5lib/namedEntities/3762 html5lib-tests ⫄ Named entity: supedot; with a semi-colon 9 B
004170 html5lib/namedEntities/3763 html5lib-tests &suphsol Bad named entity: suphsol without a semi-colon 8 B
004171 html5lib/namedEntities/3764 html5lib-tests ⟉ Named entity: suphsol; with a semi-colon 9 B
004172 html5lib/namedEntities/3765 html5lib-tests &suphsub Bad named entity: suphsub without a semi-colon 8 B
004173 html5lib/namedEntities/3766 html5lib-tests ⫗ Named entity: suphsub; with a semi-colon 9 B
004174 html5lib/namedEntities/3767 html5lib-tests &suplarr Bad named entity: suplarr without a semi-colon 8 B
004175 html5lib/namedEntities/3768 html5lib-tests ⥻ Named entity: suplarr; with a semi-colon 9 B
004176 html5lib/namedEntities/3769 html5lib-tests &supmult Bad named entity: supmult without a semi-colon 8 B
004177 html5lib/namedEntities/3770 html5lib-tests ⫂ Named entity: supmult; with a semi-colon 9 B
004178 html5lib/namedEntities/3771 html5lib-tests &supnE Bad named entity: supnE without a semi-colon 6 B
004179 html5lib/namedEntities/3772 html5lib-tests ⫌ Named entity: supnE; with a semi-colon 7 B
004180 html5lib/namedEntities/3773 html5lib-tests &supne Bad named entity: supne without a semi-colon 6 B
004181 html5lib/namedEntities/3774 html5lib-tests ⊋ Named entity: supne; with a semi-colon 7 B
004182 html5lib/namedEntities/3775 html5lib-tests &supplus Bad named entity: supplus without a semi-colon 8 B
004183 html5lib/namedEntities/3776 html5lib-tests ⫀ Named entity: supplus; with a semi-colon 9 B
004184 html5lib/namedEntities/3777 html5lib-tests &supset Bad named entity: supset without a semi-colon 7 B
004185 html5lib/namedEntities/3778 html5lib-tests ⊃ Named entity: supset; with a semi-colon 8 B
004186 html5lib/namedEntities/3779 html5lib-tests &supseteq Bad named entity: supseteq without a semi-colon 9 B
004187 html5lib/namedEntities/3780 html5lib-tests ⊇ Named entity: supseteq; with a semi-colon 10 B
004188 html5lib/namedEntities/3781 html5lib-tests &supseteqq Bad named entity: supseteqq without a semi-colon 10 B
004189 html5lib/namedEntities/3782 html5lib-tests ⫆ Named entity: supseteqq; with a semi-colon 11 B
004190 html5lib/namedEntities/3783 html5lib-tests &supsetneq Bad named entity: supsetneq without a semi-colon 10 B
004191 html5lib/namedEntities/3784 html5lib-tests ⊋ Named entity: supsetneq; with a semi-colon 11 B
004192 html5lib/namedEntities/3785 html5lib-tests &supsetneqq Bad named entity: supsetneqq without a semi-colon 11 B
004193 html5lib/namedEntities/3786 html5lib-tests ⫌ Named entity: supsetneqq; with a semi-colon 12 B
004194 html5lib/namedEntities/3787 html5lib-tests &supsim Bad named entity: supsim without a semi-colon 7 B
004195 html5lib/namedEntities/3788 html5lib-tests ⫈ Named entity: supsim; with a semi-colon 8 B
004196 html5lib/namedEntities/3789 html5lib-tests &supsub Bad named entity: supsub without a semi-colon 7 B
004197 html5lib/namedEntities/3790 html5lib-tests ⫔ Named entity: supsub; with a semi-colon 8 B
004198 html5lib/namedEntities/3791 html5lib-tests &supsup Bad named entity: supsup without a semi-colon 7 B
004199 html5lib/namedEntities/3792 html5lib-tests ⫖ Named entity: supsup; with a semi-colon 8 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.