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 |
|---|---|---|---|---|
| 000153 | html5lib/numericEntities/0082 html5lib-tests |
⟨U+5FFFE⟩
|
9 B | |
| 000154 | html5lib/numericEntities/0083 html5lib-tests |
⟨U+5FFFF⟩
|
9 B | |
| 000155 | html5lib/numericEntities/0084 html5lib-tests |
⟨U+6FFFE⟩
|
9 B | |
| 000156 | html5lib/numericEntities/0085 html5lib-tests |
⟨U+6FFFF⟩
|
9 B | |
| 000157 | html5lib/numericEntities/0086 html5lib-tests |
⟨U+7FFFE⟩
|
9 B | |
| 000158 | html5lib/numericEntities/0087 html5lib-tests |
⟨U+7FFFF⟩
|
9 B | |
| 000159 | html5lib/numericEntities/0088 html5lib-tests |
⟨U+8FFFE⟩
|
9 B | |
| 000160 | html5lib/numericEntities/0089 html5lib-tests |
⟨U+8FFFF⟩
|
9 B | |
| 000161 | html5lib/numericEntities/0090 html5lib-tests |
⟨U+9FFFE⟩
|
9 B | |
| 000162 | html5lib/numericEntities/0091 html5lib-tests |
⟨U+9FFFF⟩
|
9 B | |
| 000163 | html5lib/numericEntities/0092 html5lib-tests |
⟨U+AFFFE⟩
|
9 B | |
| 000164 | html5lib/numericEntities/0093 html5lib-tests |
⟨U+AFFFF⟩
|
9 B | |
| 000165 | html5lib/numericEntities/0094 html5lib-tests |
⟨U+BFFFE⟩
|
9 B | |
| 000166 | html5lib/numericEntities/0095 html5lib-tests |
⟨U+BFFFF⟩
|
9 B | |
| 000167 | html5lib/numericEntities/0096 html5lib-tests |
⟨U+CFFFE⟩
|
9 B | |
| 000168 | html5lib/numericEntities/0097 html5lib-tests |
⟨U+CFFFF⟩
|
9 B | |
| 000169 | html5lib/numericEntities/0098 html5lib-tests |
⟨U+DFFFE⟩
|
9 B | |
| 000170 | html5lib/numericEntities/0099 html5lib-tests |
⟨U+DFFFF⟩
|
9 B | |
| 000171 | html5lib/numericEntities/0100 html5lib-tests |
⟨U+EFFFE⟩
|
9 B | |
| 000172 | html5lib/numericEntities/0101 html5lib-tests |
⟨U+EFFFF⟩
|
9 B | |
| 000173 | html5lib/numericEntities/0102 html5lib-tests |
⟨U+FFFFE⟩
|
9 B | |
| 000174 | html5lib/numericEntities/0103 html5lib-tests |
⟨U+FFFFF⟩
|
9 B | |
| 000175 | html5lib/numericEntities/0104 html5lib-tests |
⟨U+10FFFE⟩
|
10 B | |
| 000176 | html5lib/numericEntities/0105 html5lib-tests |
⟨U+10FFFF⟩
|
10 B | |
| 000177 | html5lib/numericEntities/0106 html5lib-tests |
␉
|
8 B | |
| 000178 | html5lib/numericEntities/0107 html5lib-tests |
␊
|
8 B | |
| 000179 | html5lib/numericEntities/0108 html5lib-tests |
|
8 B | |
| 000180 | html5lib/numericEntities/0109 html5lib-tests |
!
|
8 B | |
| 000181 | html5lib/numericEntities/0110 html5lib-tests |
"
|
8 B | |
| 000182 | html5lib/numericEntities/0111 html5lib-tests |
#
|
8 B | |
| 000183 | html5lib/numericEntities/0112 html5lib-tests |
$
|
8 B | |
| 000184 | html5lib/numericEntities/0113 html5lib-tests |
%
|
8 B | |
| 000185 | html5lib/numericEntities/0114 html5lib-tests |
&
|
8 B | |
| 000186 | html5lib/numericEntities/0115 html5lib-tests |
'
|
8 B | |
| 000187 | html5lib/numericEntities/0116 html5lib-tests |
(
|
8 B | |
| 000188 | html5lib/numericEntities/0117 html5lib-tests |
)
|
8 B | |
| 000189 | html5lib/numericEntities/0118 html5lib-tests |
*
|
8 B | |
| 000190 | html5lib/numericEntities/0119 html5lib-tests |
+
|
8 B | |
| 000191 | html5lib/numericEntities/0120 html5lib-tests |
,
|
8 B | |
| 000192 | html5lib/numericEntities/0121 html5lib-tests |
-
|
8 B | |
| 000193 | html5lib/numericEntities/0122 html5lib-tests |
.
|
8 B | |
| 000194 | html5lib/numericEntities/0123 html5lib-tests |
/
|
8 B | |
| 000195 | html5lib/numericEntities/0124 html5lib-tests |
0
|
8 B | |
| 000196 | html5lib/numericEntities/0125 html5lib-tests |
1
|
8 B | |
| 000197 | html5lib/numericEntities/0126 html5lib-tests |
2
|
8 B | |
| 000198 | html5lib/numericEntities/0127 html5lib-tests |
3
|
8 B | |
| 000199 | html5lib/numericEntities/0128 html5lib-tests |
4
|
8 B | |
| 000200 | html5lib/numericEntities/0129 html5lib-tests |
5
|
8 B | |
| 000201 | html5lib/numericEntities/0130 html5lib-tests |
6
|
8 B | |
| 000202 | html5lib/numericEntities/0131 html5lib-tests |
7
|
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