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
002000 html5lib/namedEntities/1593 html5lib-tests &checkmark Bad named entity: checkmark without a semi-colon 10 B
002001 html5lib/namedEntities/1594 html5lib-tests ✓ Named entity: checkmark; with a semi-colon 11 B
002002 html5lib/namedEntities/1595 html5lib-tests &chi Bad named entity: chi without a semi-colon 4 B
002003 html5lib/namedEntities/1596 html5lib-tests χ Named entity: chi; with a semi-colon 5 B
002004 html5lib/namedEntities/1597 html5lib-tests &cir Bad named entity: cir without a semi-colon 4 B
002005 html5lib/namedEntities/1598 html5lib-tests ○ Named entity: cir; with a semi-colon 5 B
002006 html5lib/namedEntities/1599 html5lib-tests &cirE Bad named entity: cirE without a semi-colon 5 B
002007 html5lib/namedEntities/1600 html5lib-tests ⧃ Named entity: cirE; with a semi-colon 6 B
002008 html5lib/namedEntities/1601 html5lib-tests &circ Bad named entity: circ without a semi-colon 5 B
002009 html5lib/namedEntities/1602 html5lib-tests ˆ Named entity: circ; with a semi-colon 6 B
002010 html5lib/namedEntities/1603 html5lib-tests &circeq Bad named entity: circeq without a semi-colon 7 B
002011 html5lib/namedEntities/1604 html5lib-tests ≗ Named entity: circeq; with a semi-colon 8 B
002012 html5lib/namedEntities/1605 html5lib-tests &circlearrowleft Bad named entity: circlearrowleft without a semi-colon 16 B
002013 html5lib/namedEntities/1606 html5lib-tests ↺ Named entity: circlearrowleft; with a semi-colon 17 B
002014 html5lib/namedEntities/1607 html5lib-tests &circlearrowright Bad named entity: circlearrowright without a semi-colon 17 B
002015 html5lib/namedEntities/1608 html5lib-tests ↻ Named entity: circlearrowright; with a semi-colon 18 B
002016 html5lib/namedEntities/1609 html5lib-tests &circledR Bad named entity: circledR without a semi-colon 9 B
002017 html5lib/namedEntities/1610 html5lib-tests ® Named entity: circledR; with a semi-colon 10 B
002018 html5lib/namedEntities/1611 html5lib-tests &circledS Bad named entity: circledS without a semi-colon 9 B
002019 html5lib/namedEntities/1612 html5lib-tests Ⓢ Named entity: circledS; with a semi-colon 10 B
002020 html5lib/namedEntities/1613 html5lib-tests &circledast Bad named entity: circledast without a semi-colon 11 B
002021 html5lib/namedEntities/1614 html5lib-tests ⊛ Named entity: circledast; with a semi-colon 12 B
002022 html5lib/namedEntities/1615 html5lib-tests &circledcirc Bad named entity: circledcirc without a semi-colon 12 B
002023 html5lib/namedEntities/1616 html5lib-tests ⊚ Named entity: circledcirc; with a semi-colon 13 B
002024 html5lib/namedEntities/1617 html5lib-tests &circleddash Bad named entity: circleddash without a semi-colon 12 B
002025 html5lib/namedEntities/1618 html5lib-tests ⊝ Named entity: circleddash; with a semi-colon 13 B
002026 html5lib/namedEntities/1619 html5lib-tests &cire Bad named entity: cire without a semi-colon 5 B
002027 html5lib/namedEntities/1620 html5lib-tests ≗ Named entity: cire; with a semi-colon 6 B
002028 html5lib/namedEntities/1621 html5lib-tests &cirfnint Bad named entity: cirfnint without a semi-colon 9 B
002029 html5lib/namedEntities/1622 html5lib-tests ⨐ Named entity: cirfnint; with a semi-colon 10 B
002030 html5lib/namedEntities/1623 html5lib-tests &cirmid Bad named entity: cirmid without a semi-colon 7 B
002031 html5lib/namedEntities/1624 html5lib-tests ⫯ Named entity: cirmid; with a semi-colon 8 B
002032 html5lib/namedEntities/1625 html5lib-tests &cirscir Bad named entity: cirscir without a semi-colon 8 B
002033 html5lib/namedEntities/1626 html5lib-tests ⧂ Named entity: cirscir; with a semi-colon 9 B
002034 html5lib/namedEntities/1627 html5lib-tests &clubs Bad named entity: clubs without a semi-colon 6 B
002035 html5lib/namedEntities/1628 html5lib-tests ♣ Named entity: clubs; with a semi-colon 7 B
002036 html5lib/namedEntities/1629 html5lib-tests &clubsuit Bad named entity: clubsuit without a semi-colon 9 B
002037 html5lib/namedEntities/1630 html5lib-tests ♣ Named entity: clubsuit; with a semi-colon 10 B
002038 html5lib/namedEntities/1631 html5lib-tests &colon Bad named entity: colon without a semi-colon 6 B
002039 html5lib/namedEntities/1632 html5lib-tests : Named entity: colon; with a semi-colon 7 B
002040 html5lib/namedEntities/1633 html5lib-tests &colone Bad named entity: colone without a semi-colon 7 B
002041 html5lib/namedEntities/1634 html5lib-tests ≔ Named entity: colone; with a semi-colon 8 B
002042 html5lib/namedEntities/1635 html5lib-tests &coloneq Bad named entity: coloneq without a semi-colon 8 B
002043 html5lib/namedEntities/1636 html5lib-tests ≔ Named entity: coloneq; with a semi-colon 9 B
002044 html5lib/namedEntities/1637 html5lib-tests &comma Bad named entity: comma without a semi-colon 6 B
002045 html5lib/namedEntities/1638 html5lib-tests , Named entity: comma; with a semi-colon 7 B
002046 html5lib/namedEntities/1639 html5lib-tests &commat Bad named entity: commat without a semi-colon 7 B
002047 html5lib/namedEntities/1640 html5lib-tests @ Named entity: commat; with a semi-colon 8 B
002048 html5lib/namedEntities/1641 html5lib-tests &comp Bad named entity: comp without a semi-colon 5 B
002049 html5lib/namedEntities/1642 html5lib-tests ∁ Named entity: comp; with a semi-colon 6 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.