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
005900 generated/1065 Generated 𧷧g9<œ&ss⟨U+10FFFF⟩ 31 B
005901 generated/1066 Generated ␍#x&TĒ 12 B
005902 generated/1067 Generated ␍␊€ Z񥘫▹# 29 B
005903 generated/1068 Generated x&=-¶lle 12 B
005904 generated/1069 Generated &oper⪁𷡇␊␊<&og␀�g𛖟 € >&Afr⇥ 68 B
005905 generated/1070 Generated ↙🎉=␍x􃉰 26 B
005906 generated/1071 Generated f␊xZŸ ;␀9; 17 B
005907 generated/1072 Generated ⪨x 8 B
005908 generated/1073 Generated Z񋌡g�␍日 24 B
005909 generated/1074 Generated #⟨U+FFFF⟩ &Rfr-9 15 B
005910 generated/1075 Generated &ofci⇀‚򖜢g⏧é日󀿽&�񋗚g 62 B
005911 generated/1076 Generated Μ&asŸ&empt0&&s&x#0éx> 30 B
005912 generated/1077 Generated ⟨U+FFFF⟩⛂.' 24 B
005913 generated/1078 Generated 7򵢘´🎉◃ 7'Zx 39 B
005914 generated/1079 Generated &x𩈺🎉и� &ratio 35 B
005915 generated/1080 Generated &l<␍⋇⨹␊; &nshortm 32 B
005916 generated/1081 Generated Z␍f 3 B
005917 generated/1082 Generated Ax…éf␊ >é𸾙&OpenCurlyQuo&𗹦g&e 56 B
005918 generated/1083 Generated Θ#⋇"&ovbar 23 B
005919 generated/1084 Generated >🎉񗞁Î&f=㺉 33 B
005920 generated/1085 Generated ⇉0�υ␉A𝔈>¼ 57 B
005921 generated/1086 Generated 𝒶x⋈&w&&rang'␍ 日␍ ␊␊ €򶌡 48 B
005922 generated/1087 Generated 񭊞F𠩄g&�x&dagge'7x;𡧚뫎x—𺞗 67 B
005923 generated/1088 Generated ␍ 1 B
005924 generated/1089 Generated '􁍨g≗&vef&raA &fparti 36 B
005925 generated/1090 Generated ⋔9;␊x 18 B
005926 generated/1091 Generated &uogonFθ€x# Fé;日 27 B
005927 generated/1092 Generated 9&mi 4 B
005928 generated/1093 Generated ∂�gŸf'␉ ;9⟨U+00A0⟩é␍󘛞 47 B
005929 generated/1094 Generated ␉&rbarr𤄯g􏏐⟨U+00A0⟩>␀␊ 35 B
005930 generated/1095 Generated -Z&®򌤬⤦␊aË 38 B
005931 generated/1096 Generated &sqsubsete&we 13 B
005932 generated/1097 Generated ␀ >0; 5 B
005933 generated/1098 Generated '&emacraxé &latail 19 B
005934 generated/1099 Generated Ş&jukc<F9Ы󶳅g=<⫋︀ 40 B
005935 generated/1100 Generated =é&rsc 7 B
005936 generated/1101 Generated ;fa'&Square∅␉␉ é&Og␉ 35 B
005937 generated/1102 Generated a⩾␊⩦f'󙌖g񙬍x␊f&Om&Mc 57 B
005938 generated/1103 Generated 日-"x􏃭 ␉≏̸򵢮Ÿ&rf 48 B
005939 generated/1104 Generated ␉xZ&lg&doteF 14 B
005940 generated/1105 Generated "▹ 16 B
005941 generated/1106 Generated 日F򍛬g<=󣹤 25 B
005942 generated/1107 Generated ␊󤙍g󘗂g7<þ日7␀9"& 37 B
005943 generated/1108 Generated -␊x€>␍x>0é𝒿a 26 B
005944 generated/1109 Generated 򻾡'�日Ĺ񹡖𝔒 44 B
005945 generated/1110 Generated 𺟪� Ó>qu󻿘g�x&supdsu&duarr&cirmi7&rs↬ć-= 92 B
005946 generated/1111 Generated x&Cros𘔿g󣴫x␊F" 28 B
005947 generated/1112 Generated ⊃Ÿ𝕨日␀𿮝g 34 B
005948 generated/1113 Generated &c& &bs␊򥀏␍0>&TildeFull€ 40 B
005949 generated/1114 Generated &€&ndas=a>␍F􃃃 26 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.