<li><span>List item marker should not be blockified. This test passes if it doesn't assert.</span></li>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
setTimeout(function() {
    let css = document.createElement("style");
    css.type = 'text/css';
	css.appendChild(document.createTextNode(":matches(::marker) { display: block; }"));
    document.getElementsByTagName("head")[0].appendChild(css);

    if (window.testRunner)
        testRunner.notifyDone();
    }, 0);
</script>
