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
003354 html5lib/namedEntities/2947 html5lib-tests ∦ Named entity: nspar; with a semi-colon 7 B
003355 html5lib/namedEntities/2948 html5lib-tests &nsqsube Bad named entity: nsqsube without a semi-colon 8 B
003356 html5lib/namedEntities/2949 html5lib-tests ⋢ Named entity: nsqsube; with a semi-colon 9 B
003357 html5lib/namedEntities/2950 html5lib-tests &nsqsupe Bad named entity: nsqsupe without a semi-colon 8 B
003358 html5lib/namedEntities/2951 html5lib-tests ⋣ Named entity: nsqsupe; with a semi-colon 9 B
003359 html5lib/namedEntities/2952 html5lib-tests &nsub Bad named entity: nsub without a semi-colon 5 B
003360 html5lib/namedEntities/2953 html5lib-tests ⊄ Named entity: nsub; with a semi-colon 6 B
003361 html5lib/namedEntities/2954 html5lib-tests &nsubE Bad named entity: nsubE without a semi-colon 6 B
003362 html5lib/namedEntities/2955 html5lib-tests ⫅̸ Named entity: nsubE; with a semi-colon 7 B
003363 html5lib/namedEntities/2956 html5lib-tests &nsube Bad named entity: nsube without a semi-colon 6 B
003364 html5lib/namedEntities/2957 html5lib-tests ⊈ Named entity: nsube; with a semi-colon 7 B
003365 html5lib/namedEntities/2958 html5lib-tests &nsubset Bad named entity: nsubset without a semi-colon 8 B
003366 html5lib/namedEntities/2959 html5lib-tests ⊂⃒ Named entity: nsubset; with a semi-colon 9 B
003367 html5lib/namedEntities/2960 html5lib-tests &nsubseteq Bad named entity: nsubseteq without a semi-colon 10 B
003368 html5lib/namedEntities/2961 html5lib-tests ⊈ Named entity: nsubseteq; with a semi-colon 11 B
003369 html5lib/namedEntities/2962 html5lib-tests &nsubseteqq Bad named entity: nsubseteqq without a semi-colon 11 B
003370 html5lib/namedEntities/2963 html5lib-tests ⫅̸ Named entity: nsubseteqq; with a semi-colon 12 B
003371 html5lib/namedEntities/2964 html5lib-tests &nsucc Bad named entity: nsucc without a semi-colon 6 B
003372 html5lib/namedEntities/2965 html5lib-tests ⊁ Named entity: nsucc; with a semi-colon 7 B
003373 html5lib/namedEntities/2966 html5lib-tests &nsucceq Bad named entity: nsucceq without a semi-colon 8 B
003374 html5lib/namedEntities/2967 html5lib-tests ⪰̸ Named entity: nsucceq; with a semi-colon 9 B
003375 html5lib/namedEntities/2968 html5lib-tests &nsup Bad named entity: nsup without a semi-colon 5 B
003376 html5lib/namedEntities/2969 html5lib-tests ⊅ Named entity: nsup; with a semi-colon 6 B
003377 html5lib/namedEntities/2970 html5lib-tests &nsupE Bad named entity: nsupE without a semi-colon 6 B
003378 html5lib/namedEntities/2971 html5lib-tests ⫆̸ Named entity: nsupE; with a semi-colon 7 B
003379 html5lib/namedEntities/2972 html5lib-tests &nsupe Bad named entity: nsupe without a semi-colon 6 B
003380 html5lib/namedEntities/2973 html5lib-tests ⊉ Named entity: nsupe; with a semi-colon 7 B
003381 html5lib/namedEntities/2974 html5lib-tests &nsupset Bad named entity: nsupset without a semi-colon 8 B
003382 html5lib/namedEntities/2975 html5lib-tests ⊃⃒ Named entity: nsupset; with a semi-colon 9 B
003383 html5lib/namedEntities/2976 html5lib-tests &nsupseteq Bad named entity: nsupseteq without a semi-colon 10 B
003384 html5lib/namedEntities/2977 html5lib-tests ⊉ Named entity: nsupseteq; with a semi-colon 11 B
003385 html5lib/namedEntities/2978 html5lib-tests &nsupseteqq Bad named entity: nsupseteqq without a semi-colon 11 B
003386 html5lib/namedEntities/2979 html5lib-tests ⫆̸ Named entity: nsupseteqq; with a semi-colon 12 B
003387 html5lib/namedEntities/2980 html5lib-tests &ntgl Bad named entity: ntgl without a semi-colon 5 B
003388 html5lib/namedEntities/2981 html5lib-tests ≹ Named entity: ntgl; with a semi-colon 6 B
003389 html5lib/namedEntities/2982 html5lib-tests ñ Named entity: ntilde without a semi-colon 7 B
003390 html5lib/namedEntities/2983 html5lib-tests ñ Named entity: ntilde; with a semi-colon 8 B
003391 html5lib/namedEntities/2984 html5lib-tests &ntlg Bad named entity: ntlg without a semi-colon 5 B
003392 html5lib/namedEntities/2985 html5lib-tests ≸ Named entity: ntlg; with a semi-colon 6 B
003393 html5lib/namedEntities/2986 html5lib-tests &ntriangleleft Bad named entity: ntriangleleft without a semi-colon 14 B
003394 html5lib/namedEntities/2987 html5lib-tests ⋪ Named entity: ntriangleleft; with a semi-colon 15 B
003395 html5lib/namedEntities/2988 html5lib-tests &ntrianglelefteq Bad named entity: ntrianglelefteq without a semi-colon 16 B
003396 html5lib/namedEntities/2989 html5lib-tests ⋬ Named entity: ntrianglelefteq; with a semi-colon 17 B
003397 html5lib/namedEntities/2990 html5lib-tests &ntriangleright Bad named entity: ntriangleright without a semi-colon 15 B
003398 html5lib/namedEntities/2991 html5lib-tests ⋫ Named entity: ntriangleright; with a semi-colon 16 B
003399 html5lib/namedEntities/2992 html5lib-tests &ntrianglerighteq Bad named entity: ntrianglerighteq without a semi-colon 17 B
003400 html5lib/namedEntities/2993 html5lib-tests ⋭ Named entity: ntrianglerighteq; with a semi-colon 18 B
003401 html5lib/namedEntities/2994 html5lib-tests &nu Bad named entity: nu without a semi-colon 3 B
003402 html5lib/namedEntities/2995 html5lib-tests ν Named entity: nu; with a semi-colon 4 B
003403 html5lib/namedEntities/2996 html5lib-tests &num Bad named entity: num without a semi-colon 4 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.