<!doctype html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<style id="style-container">
</style>
</head>
<body>
</body>
<script>
description('Test the parsing of :is(selectorList) for querySelector and style.');

function testInvalidSelector(selectorString) {
    var styleContainer = document.getElementById('style-container');
    styleContainer.innerHTML = ':is(' + selectorString + ') { }';
    const parsed = document.getElementById('style-container').sheet.cssRules.length == 1;
    debug(`selector '${styleContainer.innerHTML}' parsed: ${parsed ? "YES" : "NO"}`);
    styleContainer.innerHTML = '';
}

var invalidSelectors = [
    // Not selectors.
    "",
    "    ",
    ",",

    ".123class",
    "#123id",
    "[]",
    "()",
    ")",
    "{}",
    "}",

    // Unbalanced parenthesized functional pseudo classes.
    ":not(",
    ":is(",
    ":nth-child(2n+1 of",
];

debug("1 invalid selectors");
for (var i = 0; i < invalidSelectors.length; ++i) {
    var selectorString = invalidSelectors[i];
    testInvalidSelector(selectorString);
}

</script>
<script src="../../resources/js-test-post.js"></script>
</html>
