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
2,241 of 6,835 cases
| Case | Name | Expected | Note | Size |
|---|---|---|---|---|
| 000203 | html5lib/numericEntities/0132 html5lib-tests |
8
|
8 B | |
| 000204 | html5lib/numericEntities/0133 html5lib-tests |
9
|
8 B | |
| 000205 | html5lib/numericEntities/0134 html5lib-tests |
:
|
8 B | |
| 000206 | html5lib/numericEntities/0135 html5lib-tests |
;
|
8 B | |
| 000207 | html5lib/numericEntities/0136 html5lib-tests |
<
|
8 B | |
| 000208 | html5lib/numericEntities/0137 html5lib-tests |
=
|
8 B | |
| 000209 | html5lib/numericEntities/0138 html5lib-tests |
>
|
8 B | |
| 000210 | html5lib/numericEntities/0139 html5lib-tests |
?
|
8 B | |
| 000211 | html5lib/numericEntities/0140 html5lib-tests |
@
|
8 B | |
| 000212 | html5lib/numericEntities/0141 html5lib-tests |
A
|
8 B | |
| 000213 | html5lib/numericEntities/0142 html5lib-tests |
B
|
8 B | |
| 000214 | html5lib/numericEntities/0143 html5lib-tests |
C
|
8 B | |
| 000215 | html5lib/numericEntities/0144 html5lib-tests |
D
|
8 B | |
| 000216 | html5lib/numericEntities/0145 html5lib-tests |
E
|
8 B | |
| 000217 | html5lib/numericEntities/0146 html5lib-tests |
F
|
8 B | |
| 000218 | html5lib/numericEntities/0147 html5lib-tests |
G
|
8 B | |
| 000219 | html5lib/numericEntities/0148 html5lib-tests |
H
|
8 B | |
| 000220 | html5lib/numericEntities/0149 html5lib-tests |
I
|
8 B | |
| 000221 | html5lib/numericEntities/0150 html5lib-tests |
J
|
8 B | |
| 000222 | html5lib/numericEntities/0151 html5lib-tests |
K
|
8 B | |
| 000223 | html5lib/numericEntities/0152 html5lib-tests |
L
|
8 B | |
| 000224 | html5lib/numericEntities/0153 html5lib-tests |
M
|
8 B | |
| 000225 | html5lib/numericEntities/0154 html5lib-tests |
N
|
8 B | |
| 000226 | html5lib/numericEntities/0155 html5lib-tests |
O
|
8 B | |
| 000227 | html5lib/numericEntities/0156 html5lib-tests |
P
|
8 B | |
| 000228 | html5lib/numericEntities/0157 html5lib-tests |
Q
|
8 B | |
| 000229 | html5lib/numericEntities/0158 html5lib-tests |
R
|
8 B | |
| 000230 | html5lib/numericEntities/0159 html5lib-tests |
S
|
8 B | |
| 000231 | html5lib/numericEntities/0160 html5lib-tests |
T
|
8 B | |
| 000232 | html5lib/numericEntities/0161 html5lib-tests |
U
|
8 B | |
| 000233 | html5lib/numericEntities/0162 html5lib-tests |
V
|
8 B | |
| 000234 | html5lib/numericEntities/0163 html5lib-tests |
W
|
8 B | |
| 000235 | html5lib/numericEntities/0164 html5lib-tests |
X
|
8 B | |
| 000236 | html5lib/numericEntities/0165 html5lib-tests |
Y
|
8 B | |
| 000237 | html5lib/numericEntities/0166 html5lib-tests |
Z
|
8 B | |
| 000238 | html5lib/numericEntities/0167 html5lib-tests |
[
|
8 B | |
| 000239 | html5lib/numericEntities/0168 html5lib-tests |
\
|
8 B | |
| 000240 | html5lib/numericEntities/0169 html5lib-tests |
]
|
8 B | |
| 000241 | html5lib/numericEntities/0170 html5lib-tests |
^
|
8 B | |
| 000242 | html5lib/numericEntities/0171 html5lib-tests |
_
|
8 B | |
| 000243 | html5lib/numericEntities/0172 html5lib-tests |
`
|
8 B | |
| 000244 | html5lib/numericEntities/0173 html5lib-tests |
a
|
8 B | |
| 000245 | html5lib/numericEntities/0174 html5lib-tests |
b
|
8 B | |
| 000246 | html5lib/numericEntities/0175 html5lib-tests |
c
|
8 B | |
| 000247 | html5lib/numericEntities/0176 html5lib-tests |
d
|
8 B | |
| 000248 | html5lib/numericEntities/0177 html5lib-tests |
e
|
8 B | |
| 000249 | html5lib/numericEntities/0178 html5lib-tests |
f
|
8 B | |
| 000250 | html5lib/numericEntities/0179 html5lib-tests |
g
|
8 B | |
| 000251 | html5lib/numericEntities/0180 html5lib-tests |
h
|
8 B | |
| 000252 | html5lib/numericEntities/0181 html5lib-tests |
i
|
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.
- Named character references — the table of 2,231 names, including the legacy ones that work without a semicolon
- Numeric character reference end state — the Windows-1252 remapping and the rules for 0, surrogates and out-of-range numbers
- html5lib-tests tokenizer tests — the source of the 4,617 html5lib cases