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

5,931 of 6,835 cases

Case Name Expected Note Size
001954 html5lib/namedEntities/1547 html5lib-tests ć Named entity: cacute; with a semi-colon 8 B
001955 html5lib/namedEntities/1548 html5lib-tests &cap Bad named entity: cap without a semi-colon 4 B
001956 html5lib/namedEntities/1549 html5lib-tests ∩ Named entity: cap; with a semi-colon 5 B
001957 html5lib/namedEntities/1550 html5lib-tests &capand Bad named entity: capand without a semi-colon 7 B
001958 html5lib/namedEntities/1551 html5lib-tests ⩄ Named entity: capand; with a semi-colon 8 B
001959 html5lib/namedEntities/1552 html5lib-tests &capbrcup Bad named entity: capbrcup without a semi-colon 9 B
001960 html5lib/namedEntities/1553 html5lib-tests ⩉ Named entity: capbrcup; with a semi-colon 10 B
001961 html5lib/namedEntities/1554 html5lib-tests &capcap Bad named entity: capcap without a semi-colon 7 B
001962 html5lib/namedEntities/1555 html5lib-tests ⩋ Named entity: capcap; with a semi-colon 8 B
001963 html5lib/namedEntities/1556 html5lib-tests &capcup Bad named entity: capcup without a semi-colon 7 B
001964 html5lib/namedEntities/1557 html5lib-tests ⩇ Named entity: capcup; with a semi-colon 8 B
001965 html5lib/namedEntities/1558 html5lib-tests &capdot Bad named entity: capdot without a semi-colon 7 B
001966 html5lib/namedEntities/1559 html5lib-tests ⩀ Named entity: capdot; with a semi-colon 8 B
001967 html5lib/namedEntities/1560 html5lib-tests &caps Bad named entity: caps without a semi-colon 5 B
001968 html5lib/namedEntities/1561 html5lib-tests ∩︀ Named entity: caps; with a semi-colon 6 B
001969 html5lib/namedEntities/1562 html5lib-tests &caret Bad named entity: caret without a semi-colon 6 B
001970 html5lib/namedEntities/1563 html5lib-tests ⁁ Named entity: caret; with a semi-colon 7 B
001971 html5lib/namedEntities/1564 html5lib-tests &caron Bad named entity: caron without a semi-colon 6 B
001972 html5lib/namedEntities/1565 html5lib-tests ˇ Named entity: caron; with a semi-colon 7 B
001973 html5lib/namedEntities/1566 html5lib-tests &ccaps Bad named entity: ccaps without a semi-colon 6 B
001974 html5lib/namedEntities/1567 html5lib-tests ⩍ Named entity: ccaps; with a semi-colon 7 B
001975 html5lib/namedEntities/1568 html5lib-tests &ccaron Bad named entity: ccaron without a semi-colon 7 B
001976 html5lib/namedEntities/1569 html5lib-tests č Named entity: ccaron; with a semi-colon 8 B
001977 html5lib/namedEntities/1570 html5lib-tests ç Named entity: ccedil without a semi-colon 7 B
001978 html5lib/namedEntities/1571 html5lib-tests ç Named entity: ccedil; with a semi-colon 8 B
001979 html5lib/namedEntities/1572 html5lib-tests &ccirc Bad named entity: ccirc without a semi-colon 6 B
001980 html5lib/namedEntities/1573 html5lib-tests ĉ Named entity: ccirc; with a semi-colon 7 B
001981 html5lib/namedEntities/1574 html5lib-tests &ccups Bad named entity: ccups without a semi-colon 6 B
001982 html5lib/namedEntities/1575 html5lib-tests ⩌ Named entity: ccups; with a semi-colon 7 B
001983 html5lib/namedEntities/1576 html5lib-tests &ccupssm Bad named entity: ccupssm without a semi-colon 8 B
001984 html5lib/namedEntities/1577 html5lib-tests ⩐ Named entity: ccupssm; with a semi-colon 9 B
001985 html5lib/namedEntities/1578 html5lib-tests &cdot Bad named entity: cdot without a semi-colon 5 B
001986 html5lib/namedEntities/1579 html5lib-tests ċ Named entity: cdot; with a semi-colon 6 B
001987 html5lib/namedEntities/1580 html5lib-tests ¸ Named entity: cedil without a semi-colon 6 B
001988 html5lib/namedEntities/1581 html5lib-tests ¸ Named entity: cedil; with a semi-colon 7 B
001989 html5lib/namedEntities/1582 html5lib-tests &cemptyv Bad named entity: cemptyv without a semi-colon 8 B
001990 html5lib/namedEntities/1583 html5lib-tests ⦲ Named entity: cemptyv; with a semi-colon 9 B
001991 html5lib/namedEntities/1584 html5lib-tests ¢ Named entity: cent without a semi-colon 5 B
001992 html5lib/namedEntities/1585 html5lib-tests ¢ Named entity: cent; with a semi-colon 6 B
001993 html5lib/namedEntities/1586 html5lib-tests · Named entity: centerdot; with a semi-colon 11 B
001994 html5lib/namedEntities/1587 html5lib-tests &cfr Bad named entity: cfr without a semi-colon 4 B
001995 html5lib/namedEntities/1588 html5lib-tests 𝔠 Named entity: cfr; with a semi-colon 5 B
001996 html5lib/namedEntities/1589 html5lib-tests &chcy Bad named entity: chcy without a semi-colon 5 B
001997 html5lib/namedEntities/1590 html5lib-tests ч Named entity: chcy; with a semi-colon 6 B
001998 html5lib/namedEntities/1591 html5lib-tests &check Bad named entity: check without a semi-colon 6 B
001999 html5lib/namedEntities/1592 html5lib-tests ✓ Named entity: check; with a semi-colon 7 B
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

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.