blob: 090053dedf6addad805a69b58d524b36ce3624c6 [file] [log] [blame]
<!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 :matches(selectorList) for querySelector and style.');
function testInvalidSelector(selectorString) {
shouldThrowErrorName('document.querySelector(":matches(' + selectorString + ')")', 'SyntaxError');
var styleContainer = document.getElementById('style-container');
styleContainer.innerHTML = ':matches(' + selectorString + ') { }';
shouldBe("document.getElementById('style-container').sheet.cssRules.length", "0");
styleContainer.innerHTML = '';
}
var invalidSelectors = [
// Not selectors.
"",
" ",
",",
".123class",
"#123id",
"[]",
"()",
")",
"{}",
"}",
// Unbalanced parenthesized functional pseudo classes.
":not(",
":matches(",
":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>