| <script src="../../resources/js-test-pre.js"></script> |
| <style id="style-container"> |
| description('Test the parsing of :not(selectorList) for querySelector and style.'); |
| function testInvalidSelector(selectorString) { |
| shouldThrowErrorName('document.querySelector(":not(' + selectorString + ')")', 'SyntaxError'); |
| var styleContainer = document.getElementById('style-container'); |
| styleContainer.innerHTML = ':not(' + selectorString + ') { }'; |
| shouldBe("document.getElementById('style-container').sheet.cssRules.length", "0"); |
| styleContainer.innerHTML = ''; |
| var validSelectorsPart1 = [ |
| // Functional pseudo classes. |
| ":not(:matches(cocoa, cappuccino))", |
| // Unbalanced parenthesized functional pseudo classes. |
| debug("3 :not(valid, valid, invalid) selectors"); |
| for (var i = 0; i < validSelectorsPart1.length; ++i) { |
| for (var j = i; j < validSelectorsPart1.length; ++j) { |
| for (var k = 0; k < invalidSelectors.length; ++k) { |
| var selectorString = validSelectorsPart1[i] + ',' + validSelectorsPart1[j] + ',' + invalidSelectors[k]; |
| testInvalidSelector(selectorString); |
| <script src="../../resources/js-test-post.js"></script> |