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
004250 html5lib/namedEntities/3843 html5lib-tests þ Named entity: thorn without a semi-colon 6 B
004251 html5lib/namedEntities/3844 html5lib-tests þ Named entity: thorn; with a semi-colon 7 B
004252 html5lib/namedEntities/3845 html5lib-tests &tilde Bad named entity: tilde without a semi-colon 6 B
004253 html5lib/namedEntities/3846 html5lib-tests ˜ Named entity: tilde; with a semi-colon 7 B
004254 html5lib/namedEntities/3847 html5lib-tests × Named entity: times without a semi-colon 6 B
004255 html5lib/namedEntities/3848 html5lib-tests × Named entity: times; with a semi-colon 7 B
004256 html5lib/namedEntities/3849 html5lib-tests ⊠ Named entity: timesb; with a semi-colon 8 B
004257 html5lib/namedEntities/3850 html5lib-tests ⨱ Named entity: timesbar; with a semi-colon 10 B
004258 html5lib/namedEntities/3851 html5lib-tests ⨰ Named entity: timesd; with a semi-colon 8 B
004259 html5lib/namedEntities/3852 html5lib-tests &tint Bad named entity: tint without a semi-colon 5 B
004260 html5lib/namedEntities/3853 html5lib-tests ∭ Named entity: tint; with a semi-colon 6 B
004261 html5lib/namedEntities/3854 html5lib-tests &toea Bad named entity: toea without a semi-colon 5 B
004262 html5lib/namedEntities/3855 html5lib-tests ⤨ Named entity: toea; with a semi-colon 6 B
004263 html5lib/namedEntities/3856 html5lib-tests &top Bad named entity: top without a semi-colon 4 B
004264 html5lib/namedEntities/3857 html5lib-tests ⊤ Named entity: top; with a semi-colon 5 B
004265 html5lib/namedEntities/3858 html5lib-tests &topbot Bad named entity: topbot without a semi-colon 7 B
004266 html5lib/namedEntities/3859 html5lib-tests ⌶ Named entity: topbot; with a semi-colon 8 B
004267 html5lib/namedEntities/3860 html5lib-tests &topcir Bad named entity: topcir without a semi-colon 7 B
004268 html5lib/namedEntities/3861 html5lib-tests ⫱ Named entity: topcir; with a semi-colon 8 B
004269 html5lib/namedEntities/3862 html5lib-tests &topf Bad named entity: topf without a semi-colon 5 B
004270 html5lib/namedEntities/3863 html5lib-tests 𝕥 Named entity: topf; with a semi-colon 6 B
004271 html5lib/namedEntities/3864 html5lib-tests &topfork Bad named entity: topfork without a semi-colon 8 B
004272 html5lib/namedEntities/3865 html5lib-tests ⫚ Named entity: topfork; with a semi-colon 9 B
004273 html5lib/namedEntities/3866 html5lib-tests &tosa Bad named entity: tosa without a semi-colon 5 B
004274 html5lib/namedEntities/3867 html5lib-tests ⤩ Named entity: tosa; with a semi-colon 6 B
004275 html5lib/namedEntities/3868 html5lib-tests &tprime Bad named entity: tprime without a semi-colon 7 B
004276 html5lib/namedEntities/3869 html5lib-tests ‴ Named entity: tprime; with a semi-colon 8 B
004277 html5lib/namedEntities/3870 html5lib-tests &trade Bad named entity: trade without a semi-colon 6 B
004278 html5lib/namedEntities/3871 html5lib-tests ™ Named entity: trade; with a semi-colon 7 B
004279 html5lib/namedEntities/3872 html5lib-tests &triangle Bad named entity: triangle without a semi-colon 9 B
004280 html5lib/namedEntities/3873 html5lib-tests ▵ Named entity: triangle; with a semi-colon 10 B
004281 html5lib/namedEntities/3874 html5lib-tests &triangledown Bad named entity: triangledown without a semi-colon 13 B
004282 html5lib/namedEntities/3875 html5lib-tests ▿ Named entity: triangledown; with a semi-colon 14 B
004283 html5lib/namedEntities/3876 html5lib-tests &triangleleft Bad named entity: triangleleft without a semi-colon 13 B
004284 html5lib/namedEntities/3877 html5lib-tests ◃ Named entity: triangleleft; with a semi-colon 14 B
004285 html5lib/namedEntities/3878 html5lib-tests &trianglelefteq Bad named entity: trianglelefteq without a semi-colon 15 B
004286 html5lib/namedEntities/3879 html5lib-tests ⊴ Named entity: trianglelefteq; with a semi-colon 16 B
004287 html5lib/namedEntities/3880 html5lib-tests &triangleq Bad named entity: triangleq without a semi-colon 10 B
004288 html5lib/namedEntities/3881 html5lib-tests ≜ Named entity: triangleq; with a semi-colon 11 B
004289 html5lib/namedEntities/3882 html5lib-tests &triangleright Bad named entity: triangleright without a semi-colon 14 B
004290 html5lib/namedEntities/3883 html5lib-tests ▹ Named entity: triangleright; with a semi-colon 15 B
004291 html5lib/namedEntities/3884 html5lib-tests &trianglerighteq Bad named entity: trianglerighteq without a semi-colon 16 B
004292 html5lib/namedEntities/3885 html5lib-tests ⊵ Named entity: trianglerighteq; with a semi-colon 17 B
004293 html5lib/namedEntities/3886 html5lib-tests &tridot Bad named entity: tridot without a semi-colon 7 B
004294 html5lib/namedEntities/3887 html5lib-tests ◬ Named entity: tridot; with a semi-colon 8 B
004295 html5lib/namedEntities/3888 html5lib-tests &trie Bad named entity: trie without a semi-colon 5 B
004296 html5lib/namedEntities/3889 html5lib-tests ≜ Named entity: trie; with a semi-colon 6 B
004297 html5lib/namedEntities/3890 html5lib-tests &triminus Bad named entity: triminus without a semi-colon 9 B
004298 html5lib/namedEntities/3891 html5lib-tests ⨺ Named entity: triminus; with a semi-colon 10 B
004299 html5lib/namedEntities/3892 html5lib-tests &triplus Bad named entity: triplus without 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.