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

2,241 of 6,835 cases

Case Name Expected Note Size
004731 c1-8e-decimal Focused regression Ž Windows-1252 remapping without ; 5 B
004732 c1-8f-decimal Focused regression ⟨U+008F⟩ Windows-1252 remapping without ; 5 B
004733 c1-90-decimal Focused regression ⟨U+0090⟩ Windows-1252 remapping without ; 5 B
004734 c1-91-decimal Focused regression ‘ Windows-1252 remapping without ; 5 B
004735 c1-92-decimal Focused regression ’ Windows-1252 remapping without ; 5 B
004736 c1-93-decimal Focused regression “ Windows-1252 remapping without ; 5 B
004737 c1-94-decimal Focused regression ” Windows-1252 remapping without ; 5 B
004738 c1-95-decimal Focused regression • Windows-1252 remapping without ; 5 B
004739 c1-96-decimal Focused regression – Windows-1252 remapping without ; 5 B
004740 c1-97-decimal Focused regression — Windows-1252 remapping without ; 5 B
004741 c1-98-decimal Focused regression ˜ Windows-1252 remapping without ; 5 B
004742 c1-99-decimal Focused regression ™ Windows-1252 remapping without ; 5 B
004743 c1-9a-decimal Focused regression š Windows-1252 remapping without ; 5 B
004744 c1-9b-decimal Focused regression › Windows-1252 remapping without ; 5 B
004745 c1-9c-decimal Focused regression œ Windows-1252 remapping without ; 5 B
004746 c1-9d-decimal Focused regression ⟨U+009D⟩ Windows-1252 remapping without ; 5 B
004747 c1-9e-decimal Focused regression ž Windows-1252 remapping without ; 5 B
004748 c1-9f-decimal Focused regression Ÿ Windows-1252 remapping without ; 5 B
004749 range-d7ff Focused regression ퟿ Surrogates and values past U+10FFFF become U+FFFD 8 B
004750 range-d800 Focused regression � Surrogates and values past U+10FFFF become U+FFFD 8 B
004751 range-dbff Focused regression � Surrogates and values past U+10FFFF become U+FFFD 8 B
004752 range-dc00 Focused regression � Surrogates and values past U+10FFFF become U+FFFD 8 B
004753 range-dfff Focused regression � Surrogates and values past U+10FFFF become U+FFFD 8 B
004754 range-e000 Focused regression Surrogates and values past U+10FFFF become U+FFFD 8 B
004755 range-10ffff Focused regression ⟨U+10FFFF⟩ Surrogates and values past U+10FFFF become U+FFFD 10 B
004756 range-110000 Focused regression � Surrogates and values past U+10FFFF become U+FFFD 10 B
004757 range-ffffffff Focused regression � Surrogates and values past U+10FFFF become U+FFFD 12 B
004758 range-100000000 Focused regression � Surrogates and values past U+10FFFF become U+FFFD 13 B
004759 zero-decimal Focused regression � U+0000 becomes U+FFFD 4 B
004760 zero-hex-many Focused regression � 14 B
004761 overflow-decimal Focused regression � Arbitrarily long numbers become U+FFFD 43 B
004762 overflow-hex Focused regression � 43 B
004763 overflow-wrap32-41-decimal Focused regression � Must not wrap: U+FFFD 13 B
004764 overflow-wrap32-41-hex Focused regression � Must not wrap: U+FFFD 12 B
004765 overflow-wrap32-29-decimal Focused regression � Must not wrap: U+FFFD 13 B
004766 overflow-wrap32-29-hex Focused regression � Must not wrap: U+FFFD 12 B
004767 overflow-wrap32-0a-decimal Focused regression � Must not wrap: U+FFFD 13 B
004768 overflow-wrap32-0a-hex Focused regression � Must not wrap: U+FFFD 12 B
004769 overflow-wrap32-80-decimal Focused regression � Must not wrap: U+FFFD 13 B
004770 overflow-wrap32-80-hex Focused regression � Must not wrap: U+FFFD 12 B
004771 overflow-wrap32-e9-decimal Focused regression � Must not wrap: U+FFFD 13 B
004772 overflow-wrap32-e9-hex Focused regression � Must not wrap: U+FFFD 12 B
004773 overflow-wrap64-41-decimal Focused regression � Must not wrap: U+FFFD 23 B
004774 overflow-wrap64-41-hex Focused regression � Must not wrap: U+FFFD 20 B
004775 overflow-wrap64-29-decimal Focused regression � Must not wrap: U+FFFD 23 B
004776 overflow-wrap64-29-hex Focused regression � Must not wrap: U+FFFD 20 B
004777 overflow-wrap64-0a-decimal Focused regression � Must not wrap: U+FFFD 23 B
004778 overflow-wrap64-0a-hex Focused regression � Must not wrap: U+FFFD 20 B
004779 overflow-wrap64-80-decimal Focused regression � Must not wrap: U+FFFD 23 B
004780 overflow-wrap64-80-hex Focused regression � Must not wrap: U+FFFD 20 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.