<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[174535] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/174535">174535</a></dd>
<dt>Author</dt> <dd>benjamin@webkit.org</dd>
<dt>Date</dt> <dd>2014-10-09 15:14:29 -0700 (Thu, 09 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add the baseline implementation of :not(selectorList)
https://bugs.webkit.org/show_bug.cgi?id=137548

Reviewed by Andreas Kling.

Source/WebCore:

This patch extend the pseudo class :not() to support the new definition
in CSS Selectors level 4.

Instead of supporting a single simple selector, :not() now support
an arbitrary selector list, excepted pseudo elements.

One side effect of this change is :visited and :link are no longer supported
inside :not(). The reason has to do with complexity and performance.
Since :not() and :matches() can have arbitrary selector list, keeping track of
:visited and :link can have many combination superposing, some valid, some invalid.

Supporting :visited and :link should be possible by chaning the way we handle
them for style resolution, but given the limited use cases for such features
I'll wait to see if there is any interest before changing everything.

This patch only covers SelectorChecker to keep things simple. The CSS JIT
will come later.

Tests: fast/css/not-basics.html
       fast/css/parsing-css-not-1.html
       fast/css/parsing-css-not-2.html
       fast/css/parsing-css-not-3.html
       fast/css/parsing-css-not-4.html
       fast/css/parsing-css-not-5.html
       fast/css/parsing-css-not-6.html
       fast/css/parsing-css-not-7.html
       fast/css/parsing-css-not-8.html
       fast/css/parsing-css-not-9.html
       fast/css/parsing-css-nth-child-of-4.html
       fast/selectors/not-basics.html
       fast/selectors/not-nested.html
       fast/selectors/not-selector-list.html

* css/CSSGrammar.y.in:
Rename selectorListDoesNotMatchAnyPseudoElement() to selectorListDoesNotMatchAnyPseudoElement()
since both :not() and :nth-child(An+B of selectorList) have the same requirements at the moment. 

* css/CSSParserValues.cpp:
(WebCore::selectorListMatchesPseudoElement):
The patch adding :matches() introduced the possibility of putting pseudo element
arbitrary deep in a sequence of nested :matches(). Since this case is forbidded
by :not() and :nth-child(An+B of selectorList), selectorListMatchesPseudoElement()
now becomes recursive to find those pseudo elements.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
CSSOM for the extended :not().

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::determineLinkMatchType):
* cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Disable the new capabilities from the JIT for now.

LayoutTests:

There are 3 big kind of changes to the tests:
1) The new implementation intentionally breaks :not() of :visited and :link.
   Some test for the basic :not(:link) and :not(:visited) are consequently failing.
2) Some tests were ensuring that :not() only support simple selectors, those are
   becoming irrelevant.
3) New test for the feature.

* TestExpectations:
This patch intentionally breaks :not(:link). The test fast/history/link-inside-not.html
time out since it is waiting for the link to match.

* fast/css/invalid-not-with-simple-selector-sequence-expected.txt: Removed.
* fast/css/invalid-not-with-simple-selector-sequence.html: Removed.
This test originally came from IEtestcenter. None of it is useful, all the &quot;invalid&quot;
cases are now fully functional selectors.

* fast/css/css-selector-text-expected.txt:
* fast/css/css-selector-text.html:
* fast/css/css-set-selector-text-expected.txt:
* fast/css/css-set-selector-text.html:
Parsing and CSS OM tests for the new :not().

* fast/css/parsing-css-matches-5-expected.txt:
* fast/css/parsing-css-matches-5.html:
* fast/css/parsing-css-matches-6-expected.txt:
* fast/css/parsing-css-matches-6.html:
* fast/css/parsing-css-matches-7-expected.txt:
* fast/css/parsing-css-matches-7.html:
* fast/css/parsing-css-matches-8-expected.txt:
* fast/css/parsing-css-matches-8.html:
Update the tests of :matches() to account for the extended :not().

* fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt:
Some cases covered by this test are now valid. The test is kept as is for
its historical value, but all the FAIL cover valid use cases in Level 4.

* platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt:
* platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt:
* platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
* platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
* platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt:
* platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt:
* platform/mac/fast/selectors/061-expected.txt:
* platform/mac/fast/selectors/083-expected.txt:
Those tests are changing because of the breakage of :link and :visited.

* fast/css/not-basics-expected.html: Added.
* fast/css/not-basics.html: Added.
Basic use cases of the extended :not() that should always style correctly.

* fast/css/parsing-css-not-1-expected.txt: Added.
* fast/css/parsing-css-not-1.html: Added.
* fast/css/parsing-css-not-2-expected.txt: Added.
* fast/css/parsing-css-not-2.html: Added.
* fast/css/parsing-css-not-3-expected.txt: Added.
* fast/css/parsing-css-not-3.html: Added.
* fast/css/parsing-css-not-4-expected.txt: Added.
* fast/css/parsing-css-not-4.html: Added.
* fast/css/parsing-css-not-5-expected.txt: Added.
* fast/css/parsing-css-not-5.html: Copied from LayoutTests/fast/css/parsing-css-matches-5.html.
* fast/css/parsing-css-not-6-expected.txt: Added.
* fast/css/parsing-css-not-6.html: Copied from LayoutTests/fast/css/parsing-css-matches-6.html.
* fast/css/parsing-css-not-7-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-7-expected.txt.
* fast/css/parsing-css-not-7.html: Copied from LayoutTests/fast/css/parsing-css-matches-7.html.
* fast/css/parsing-css-not-8-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-8-expected.txt.
* fast/css/parsing-css-not-8.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.
* fast/css/parsing-css-not-9-expected.txt: Added.
* fast/css/parsing-css-not-9.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.
Parsing of :not(). A lot of them were inspired by Yusuke Suzuki's test suite
for :matches(). A lot of test case apply to :not(), the main difference is that
pseudo elements must fail inside :not().

* fast/css/parsing-css-nth-child-of-4-expected.txt: Added.
* fast/css/parsing-css-nth-child-of-4.html: Added.
With the introduction of :matches(), it is possible to have arbitrarily deep pseudo elements.
The tests for :not() cover the case fixed with this patch, this addition covers :nth-child(of).

* fast/selectors/not-basics-expected.txt: Added.
* fast/selectors/not-basics.html: Added.
* fast/selectors/not-nested-expected.txt: Added.
* fast/selectors/not-nested.html: Added.
* fast/selectors/not-selector-list-expected.txt: Added.
* fast/selectors/not-selector-list.html: Added.
Test coverage for the new features.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsfastcsscssselectortextexpectedtxt">trunk/LayoutTests/fast/css/css-selector-text-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsscssselectortexthtml">trunk/LayoutTests/fast/css/css-selector-text.html</a></li>
<li><a href="#trunkLayoutTestsfastcsscsssetselectortextexpectedtxt">trunk/LayoutTests/fast/css/css-set-selector-text-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcsscsssetselectortexthtml">trunk/LayoutTests/fast/css/css-set-selector-text.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches5expectedtxt">trunk/LayoutTests/fast/css/parsing-css-matches-5-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches5html">trunk/LayoutTests/fast/css/parsing-css-matches-5.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches6expectedtxt">trunk/LayoutTests/fast/css/parsing-css-matches-6-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches6html">trunk/LayoutTests/fast/css/parsing-css-matches-6.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches7expectedtxt">trunk/LayoutTests/fast/css/parsing-css-matches-7-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches7html">trunk/LayoutTests/fast/css/parsing-css-matches-7.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches8expectedtxt">trunk/LayoutTests/fast/css/parsing-css-matches-8-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssmatches8html">trunk/LayoutTests/fast/css/parsing-css-matches-8.html</a></li>
<li><a href="#trunkLayoutTestsfastdomSelectorAPIresigSelectorsAPItestexpectedtxt">trunk/LayoutTests/fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3htmlcss3modsel61expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3htmlcss3modsel83expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3xhtmlcss3modsel61expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3xhtmlcss3modsel83expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3xmlcss3modsel61expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss3selectors3xmlcss3modsel83expectedtxt">trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastselectors061expectedtxt">trunk/LayoutTests/platform/mac/fast/selectors/061-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastselectors083expectedtxt">trunk/LayoutTests/platform/mac/fast/selectors/083-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSGrammaryin">trunk/Source/WebCore/css/CSSGrammar.y.in</a></li>
<li><a href="#trunkSourceWebCorecssCSSParserValuescpp">trunk/Source/WebCore/css/CSSParserValues.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSSelectorcpp">trunk/Source/WebCore/css/CSSSelector.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSelectorCheckercpp">trunk/Source/WebCore/css/SelectorChecker.cpp</a></li>
<li><a href="#trunkSourceWebCorecssjitSelectorCompilercpp">trunk/Source/WebCore/cssjit/SelectorCompiler.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastcssnotbasicsexpectedhtml">trunk/LayoutTests/fast/css/not-basics-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastcssnotbasicshtml">trunk/LayoutTests/fast/css/not-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot1expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-1-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot1html">trunk/LayoutTests/fast/css/parsing-css-not-1.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot2expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-2-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot2html">trunk/LayoutTests/fast/css/parsing-css-not-2.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot3expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-3-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot3html">trunk/LayoutTests/fast/css/parsing-css-not-3.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot4expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-4-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot4html">trunk/LayoutTests/fast/css/parsing-css-not-4.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot5expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-5-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot5html">trunk/LayoutTests/fast/css/parsing-css-not-5.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot6expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-6-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot6html">trunk/LayoutTests/fast/css/parsing-css-not-6.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot7expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-7-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot7html">trunk/LayoutTests/fast/css/parsing-css-not-7.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot8expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-8-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot8html">trunk/LayoutTests/fast/css/parsing-css-not-8.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot9expectedtxt">trunk/LayoutTests/fast/css/parsing-css-not-9-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnot9html">trunk/LayoutTests/fast/css/parsing-css-not-9.html</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnthchildof4expectedtxt">trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingcssnthchildof4html">trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotbasicsexpectedtxt">trunk/LayoutTests/fast/selectors/not-basics-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotbasicshtml">trunk/LayoutTests/fast/selectors/not-basics.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotnestedexpectedtxt">trunk/LayoutTests/fast/selectors/not-nested-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotnestedhtml">trunk/LayoutTests/fast/selectors/not-nested.html</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotselectorlistexpectedtxt">trunk/LayoutTests/fast/selectors/not-selector-list-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastselectorsnotselectorlisthtml">trunk/LayoutTests/fast/selectors/not-selector-list.html</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastcssinvalidnotwithsimpleselectorsequenceexpectedtxt">trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssinvalidnotwithsimpleselectorsequencehtml">trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/ChangeLog        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -1,3 +1,95 @@
</span><ins>+2014-10-09  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        Add the baseline implementation of :not(selectorList)
+        https://bugs.webkit.org/show_bug.cgi?id=137548
+
+        Reviewed by Andreas Kling.
+
+        There are 3 big kind of changes to the tests:
+        1) The new implementation intentionally breaks :not() of :visited and :link.
+           Some test for the basic :not(:link) and :not(:visited) are consequently failing.
+        2) Some tests were ensuring that :not() only support simple selectors, those are
+           becoming irrelevant.
+        3) New test for the feature.
+
+        * TestExpectations:
+        This patch intentionally breaks :not(:link). The test fast/history/link-inside-not.html
+        time out since it is waiting for the link to match.
+
+        * fast/css/invalid-not-with-simple-selector-sequence-expected.txt: Removed.
+        * fast/css/invalid-not-with-simple-selector-sequence.html: Removed.
+        This test originally came from IEtestcenter. None of it is useful, all the &quot;invalid&quot;
+        cases are now fully functional selectors.
+
+        * fast/css/css-selector-text-expected.txt:
+        * fast/css/css-selector-text.html:
+        * fast/css/css-set-selector-text-expected.txt:
+        * fast/css/css-set-selector-text.html:
+        Parsing and CSS OM tests for the new :not().
+
+        * fast/css/parsing-css-matches-5-expected.txt:
+        * fast/css/parsing-css-matches-5.html:
+        * fast/css/parsing-css-matches-6-expected.txt:
+        * fast/css/parsing-css-matches-6.html:
+        * fast/css/parsing-css-matches-7-expected.txt:
+        * fast/css/parsing-css-matches-7.html:
+        * fast/css/parsing-css-matches-8-expected.txt:
+        * fast/css/parsing-css-matches-8.html:
+        Update the tests of :matches() to account for the extended :not().
+
+        * fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt:
+        Some cases covered by this test are now valid. The test is kept as is for
+        its historical value, but all the FAIL cover valid use cases in Level 4.
+
+        * platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt:
+        * platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt:
+        * platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt:
+        * platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt:
+        * platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt:
+        * platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt:
+        * platform/mac/fast/selectors/061-expected.txt:
+        * platform/mac/fast/selectors/083-expected.txt:
+        Those tests are changing because of the breakage of :link and :visited.
+
+        * fast/css/not-basics-expected.html: Added.
+        * fast/css/not-basics.html: Added.
+        Basic use cases of the extended :not() that should always style correctly.
+
+        * fast/css/parsing-css-not-1-expected.txt: Added.
+        * fast/css/parsing-css-not-1.html: Added.
+        * fast/css/parsing-css-not-2-expected.txt: Added.
+        * fast/css/parsing-css-not-2.html: Added.
+        * fast/css/parsing-css-not-3-expected.txt: Added.
+        * fast/css/parsing-css-not-3.html: Added.
+        * fast/css/parsing-css-not-4-expected.txt: Added.
+        * fast/css/parsing-css-not-4.html: Added.
+        * fast/css/parsing-css-not-5-expected.txt: Added.
+        * fast/css/parsing-css-not-5.html: Copied from LayoutTests/fast/css/parsing-css-matches-5.html.
+        * fast/css/parsing-css-not-6-expected.txt: Added.
+        * fast/css/parsing-css-not-6.html: Copied from LayoutTests/fast/css/parsing-css-matches-6.html.
+        * fast/css/parsing-css-not-7-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-7-expected.txt.
+        * fast/css/parsing-css-not-7.html: Copied from LayoutTests/fast/css/parsing-css-matches-7.html.
+        * fast/css/parsing-css-not-8-expected.txt: Copied from LayoutTests/fast/css/parsing-css-matches-8-expected.txt.
+        * fast/css/parsing-css-not-8.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.
+        * fast/css/parsing-css-not-9-expected.txt: Added.
+        * fast/css/parsing-css-not-9.html: Copied from LayoutTests/fast/css/parsing-css-matches-8.html.
+        Parsing of :not(). A lot of them were inspired by Yusuke Suzuki's test suite
+        for :matches(). A lot of test case apply to :not(), the main difference is that
+        pseudo elements must fail inside :not().
+
+        * fast/css/parsing-css-nth-child-of-4-expected.txt: Added.
+        * fast/css/parsing-css-nth-child-of-4.html: Added.
+        With the introduction of :matches(), it is possible to have arbitrarily deep pseudo elements.
+        The tests for :not() cover the case fixed with this patch, this addition covers :nth-child(of).
+
+        * fast/selectors/not-basics-expected.txt: Added.
+        * fast/selectors/not-basics.html: Added.
+        * fast/selectors/not-nested-expected.txt: Added.
+        * fast/selectors/not-nested.html: Added.
+        * fast/selectors/not-selector-list-expected.txt: Added.
+        * fast/selectors/not-selector-list.html: Added.
+        Test coverage for the new features.
+
</ins><span class="cx"> 2014-10-09  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         iOS Simulator results for svg tests.
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/TestExpectations        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -216,3 +216,7 @@
</span><span class="cx"> 
</span><span class="cx"> # Promises/A+ 2.3.3 has many tests and it sometimes exceeds the time limit.
</span><span class="cx"> webkit.org/b/136878 js/promises-tests/promises-tests-2-3-3.html [ Slow ]
</span><ins>+
+# Intentional breaking of :not(:link) and :not(:visited) for the development of the extended :not() from CSS Selector Level 4.
+fast/history/link-inside-not.html [ Failure ]
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcsscssselectortextexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/css-selector-text-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/css-selector-text-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/css-selector-text-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -127,6 +127,27 @@
</span><span class="cx"> PASS parseThenSerializeRule(':-webkit-any(:matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before)) { }') is ':-webkit-any(:matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before)) { }'
</span><span class="cx"> PASS parseThenSerializeRule(':-webkit-any(:matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before)) { }') is ':-webkit-any(:matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before)) { }'
</span><span class="cx"> 
</span><ins>+PASS parseThenSerializeRule(':not(div) { }') is ':not(div) { }'
+PASS parseThenSerializeRule(':not(.div) { }') is ':not(.div) { }'
+PASS parseThenSerializeRule(':not(#div) { }') is ':not(#div) { }'
+PASS parseThenSerializeRule(':not([div]) { }') is ':not([div]) { }'
+PASS parseThenSerializeRule(':not(:empty) { }') is ':not(:empty) { }'
+PASS parseThenSerializeRule(':not(div.div#div[div]:empty) { }') is ':not(div.div#div[div]:empty) { }'
+PASS parseThenSerializeRule(':not(div.div:empty[div]#div) { }') is ':not(div.div:empty[div]#div) { }'
+PASS parseThenSerializeRule(':not(div.div, #div[div], :empty) { }') is ':not(div.div, #div[div], :empty) { }'
+PASS parseThenSerializeRule(':not(div, .div, #div, [div], :empty) { }') is ':not(div, .div, #div, [div], :empty) { }'
+PASS parseThenSerializeRule(':not(:not(div)) { }') is ':not(:not(div)) { }'
+PASS parseThenSerializeRule(':not(:not(div)):not(:not(foo)):not(:not(bar)) { }') is ':not(:not(div)):not(:not(foo)):not(:not(bar)) { }'
+PASS parseThenSerializeRule(':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz)) { }') is ':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz)) { }'
+PASS parseThenSerializeRule(':not(:matches(*)) { }') is ':not(:matches(*)) { }'
+PASS parseThenSerializeRule(':not(:matches(foo, bar)) { }') is ':not(:matches(foo, bar)) { }'
+PASS parseThenSerializeRule(':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar])) { }') is ':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar])) { }'
+PASS parseThenSerializeRule(':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar])) { }') is ':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar])) { }'
+PASS parseThenSerializeRule(':nth-child(2n of :not(a.b, c#d.e)) { }') is ':nth-child(2n of :not(a.b, c#d.e)) { }'
+PASS parseThenSerializeRule(':not(:nth-child(2n of :not(a.b, c#d.e))) { }') is ':not(:nth-child(2n of :not(a.b, c#d.e))) { }'
+PASS parseThenSerializeRule(':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) { }') is ':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) { }'
+PASS parseThenSerializeRule('a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) { }') is 'a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) { }'
+
</ins><span class="cx"> PASS parseThenSerializeRule('::-webkit-file-upload-button { }') is '*::-webkit-file-upload-button { }'
</span><span class="cx"> PASS parseThenSerializeRule('::-webkit-search-cancel-button { }') is '*::-webkit-search-cancel-button { }'
</span><span class="cx"> PASS parseThenSerializeRule('::-webkit-search-decoration { }') is '*::-webkit-search-decoration { }'
</span><span class="lines">@@ -196,6 +217,26 @@
</span><span class="cx"> PASS parseThenSerializeRule(':matches(.ok a &gt;    ::first-letter, .ok b~ ::first-line, .ok c :after, .ok d +:before) { }') is ':matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before) { }'
</span><span class="cx"> PASS parseThenSerializeRule(':matches(.ok a&gt; .ok ::first-letter, .ok b   ~.ok :first-line, .ok c .ok    ::after, .ok d + .ok ::before) { }') is ':matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before) { }'
</span><span class="cx"> 
</span><ins>+PASS parseThenSerializeRule(':not(single    ) { }') is ':not(single) { }'
+PASS parseThenSerializeRule(':not(a,b    ,p) { }') is ':not(a, b, p) { }'
+PASS parseThenSerializeRule(':not(#alice,                   #bob,#chris) { }') is ':not(#alice, #bob, #chris) { }'
+PASS parseThenSerializeRule(':not(  .selector,#tama,                #hanayo,#midoriko) { }') is ':not(.selector, #tama, #hanayo, #midoriko) { }'
+PASS parseThenSerializeRule(':not(    .name,#ok,:visited   ) { }') is ':not(.name, #ok, :visited) { }'
+PASS parseThenSerializeRule(':not(    .name,#ok,    :visited, :link) { }') is ':not(.name, #ok, :visited, :link) { }'
+PASS parseThenSerializeRule(':not(    .name,#ok,    :not(:visited    )) { }') is ':not(.name, #ok, :not(:visited)) { }'
+PASS parseThenSerializeRule(':not(.name,  #ok,:not(:link)) { }') is ':not(.name, #ok, :not(:link)) { }'
+PASS parseThenSerializeRule(':not(.name,#ok,:not(:link)) { }') is ':not(.name, #ok, :not(:link)) { }'
+PASS parseThenSerializeRule(':not(    .name,#ok,:-webkit-any(   hello)) { }') is ':not(.name, #ok, :-webkit-any(hello)) { }'
+PASS parseThenSerializeRule(':not(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)) { }') is ':not(.name, #ok, :-webkit-any(.selector,#tama,#hanayo,#midoriko)) { }'
+PASS parseThenSerializeRule(':not(       [type=&quot;file&quot;]) { }') is ':not([type=&quot;file&quot;]) { }'
+PASS parseThenSerializeRule(':not(  :hover    ) { }') is ':not(:hover) { }'
+PASS parseThenSerializeRule('input:not([type=&quot;file&quot;],:hover,:focus):enabled { }') is 'input:not([type=&quot;file&quot;], :hover, :focus):enabled { }'
+PASS parseThenSerializeRule(':not(input[type=&quot;file&quot;], a:hover, button:focus) { }') is ':not(input[type=&quot;file&quot;], a:hover, button:focus) { }'
+PASS parseThenSerializeRule(':not( .class1.class2.class3   ) { }') is ':not(.class1.class2.class3) { }'
+PASS parseThenSerializeRule(':not(.class1:hover   ) { }') is ':not(.class1:hover) { }'
+PASS parseThenSerializeRule(':not(a.class1.class2.class3:hover   ) { }') is ':not(a.class1.class2.class3:hover) { }'
+PASS parseThenSerializeRule(':not(:matches(single    ),:matches(a,b    ,p),:matches(#alice,                   #bob,#chris)) { }') is ':not(:matches(single), :matches(a, b, p), :matches(#alice, #bob, #chris)) { }'
+
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscssselectortexthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/css-selector-text.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/css-selector-text.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/css-selector-text.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -172,6 +172,33 @@
</span><span class="cx"> 
</span><span class="cx"> debug('');
</span><span class="cx"> 
</span><ins>+testSelectorRoundTrip(':not(div)');
+testSelectorRoundTrip(':not(.div)');
+testSelectorRoundTrip(':not(#div)');
+testSelectorRoundTrip(':not([div])');
+testSelectorRoundTrip(':not(:empty)');
+testSelectorRoundTrip(':not(div.div#div[div]:empty)');
+testSelectorRoundTrip(':not(div.div:empty[div]#div)');
+testSelectorRoundTrip(':not(div.div, #div[div], :empty)');
+testSelectorRoundTrip(':not(div, .div, #div, [div], :empty)');
+
+testSelectorRoundTrip(':not(:not(div))');
+testSelectorRoundTrip(':not(:not(div)):not(:not(foo)):not(:not(bar))');
+testSelectorRoundTrip(':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz))');
+
+testSelectorRoundTrip(':not(:matches(*))');
+testSelectorRoundTrip(':not(:matches(foo, bar))');
+testSelectorRoundTrip(':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar]))');
+testSelectorRoundTrip(':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar]))');
+
+testSelectorRoundTrip(':nth-child(2n of :not(a.b, c#d.e))');
+testSelectorRoundTrip(':not(:nth-child(2n of :not(a.b, c#d.e)))');
+
+testSelectorRoundTrip(':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)');
+testSelectorRoundTrip('a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)');
+
+debug('');
+
</ins><span class="cx"> shouldBe(&quot;parseThenSerializeRule('::-webkit-file-upload-button { }')&quot;, &quot;'*::-webkit-file-upload-button { }'&quot;);
</span><span class="cx"> shouldBe(&quot;parseThenSerializeRule('::-webkit-search-cancel-button { }')&quot;, &quot;'*::-webkit-search-cancel-button { }'&quot;);
</span><span class="cx"> shouldBe(&quot;parseThenSerializeRule('::-webkit-search-decoration { }')&quot;, &quot;'*::-webkit-search-decoration { }'&quot;);
</span><span class="lines">@@ -259,6 +286,28 @@
</span><span class="cx"> 
</span><span class="cx"> debug('');
</span><span class="cx"> 
</span><ins>+shouldBe(&quot;parseThenSerializeRule(':not(single    ) { }')&quot;, &quot;':not(single) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(a,b    ,p) { }')&quot;, &quot;':not(a, b, p) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(#alice,                   #bob,#chris) { }')&quot;, &quot;':not(#alice, #bob, #chris) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(  .selector,#tama,                #hanayo,#midoriko) { }')&quot;, &quot;':not(.selector, #tama, #hanayo, #midoriko) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(    .name,#ok,:visited   ) { }')&quot;, &quot;':not(.name, #ok, :visited) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(    .name,#ok,    :visited, :link) { }')&quot;, &quot;':not(.name, #ok, :visited, :link) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(    .name,#ok,    :not(:visited    )) { }')&quot;, &quot;':not(.name, #ok, :not(:visited)) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(.name,  #ok,:not(:link)) { }')&quot;, &quot;':not(.name, #ok, :not(:link)) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(.name,#ok,:not(:link)) { }')&quot;, &quot;':not(.name, #ok, :not(:link)) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(    .name,#ok,:-webkit-any(   hello)) { }')&quot;, &quot;':not(.name, #ok, :-webkit-any(hello)) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)) { }')&quot;, &quot;':not(.name, #ok, :-webkit-any(.selector,#tama,#hanayo,#midoriko)) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(       [type=\&quot;file\&quot;]) { }')&quot;, &quot;':not([type=\&quot;file\&quot;]) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(  :hover    ) { }')&quot;, &quot;':not(:hover) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule('input:not([type=\&quot;file\&quot;],:hover,:focus):enabled { }')&quot;, &quot;'input:not([type=\&quot;file\&quot;], :hover, :focus):enabled { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(input[type=\&quot;file\&quot;], a:hover, button:focus) { }')&quot;, &quot;':not(input[type=\&quot;file\&quot;], a:hover, button:focus) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not( .class1.class2.class3   ) { }')&quot;, &quot;':not(.class1.class2.class3) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(.class1:hover   ) { }')&quot;, &quot;':not(.class1:hover) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(a.class1.class2.class3:hover   ) { }')&quot;, &quot;':not(a.class1.class2.class3:hover) { }'&quot;);
+shouldBe(&quot;parseThenSerializeRule(':not(:matches(single    ),:matches(a,b    ,p),:matches(#alice,                   #bob,#chris)) { }')&quot;, &quot;':not(:matches(single), :matches(a, b, p), :matches(#alice, #bob, #chris)) { }'&quot;);
+
+debug('');
+
</ins><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscsssetselectortextexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/css-set-selector-text-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/css-set-selector-text-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/css-set-selector-text-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -137,6 +137,27 @@
</span><span class="cx"> PASS setThenReadSelectorText(':-webkit-any(:matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before))') is ':-webkit-any(:matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before))'
</span><span class="cx"> PASS setThenReadSelectorText(':-webkit-any(:matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before))') is ':-webkit-any(:matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before))'
</span><span class="cx"> 
</span><ins>+PASS setThenReadSelectorText(':not(div)') is ':not(div)'
+PASS setThenReadSelectorText(':not(.div)') is ':not(.div)'
+PASS setThenReadSelectorText(':not(#div)') is ':not(#div)'
+PASS setThenReadSelectorText(':not([div])') is ':not([div])'
+PASS setThenReadSelectorText(':not(:empty)') is ':not(:empty)'
+PASS setThenReadSelectorText(':not(div.div#div[div]:empty)') is ':not(div.div#div[div]:empty)'
+PASS setThenReadSelectorText(':not(div.div:empty[div]#div)') is ':not(div.div:empty[div]#div)'
+PASS setThenReadSelectorText(':not(div.div, #div[div], :empty)') is ':not(div.div, #div[div], :empty)'
+PASS setThenReadSelectorText(':not(div, .div, #div, [div], :empty)') is ':not(div, .div, #div, [div], :empty)'
+PASS setThenReadSelectorText(':not(:not(div))') is ':not(:not(div))'
+PASS setThenReadSelectorText(':not(:not(div)):not(:not(foo)):not(:not(bar))') is ':not(:not(div)):not(:not(foo)):not(:not(bar))'
+PASS setThenReadSelectorText(':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz))') is ':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz))'
+PASS setThenReadSelectorText(':not(:matches(*))') is ':not(:matches(*))'
+PASS setThenReadSelectorText(':not(:matches(foo, bar))') is ':not(:matches(foo, bar))'
+PASS setThenReadSelectorText(':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar]))') is ':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar]))'
+PASS setThenReadSelectorText(':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar]))') is ':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar]))'
+PASS setThenReadSelectorText(':nth-child(2n of :not(a.b, c#d.e))') is ':nth-child(2n of :not(a.b, c#d.e))'
+PASS setThenReadSelectorText(':not(:nth-child(2n of :not(a.b, c#d.e)))') is ':not(:nth-child(2n of :not(a.b, c#d.e)))'
+PASS setThenReadSelectorText(':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)') is ':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)'
+PASS setThenReadSelectorText('a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)') is 'a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)'
+
</ins><span class="cx"> PASS setThenReadSelectorText('::-webkit-file-upload-button') is '*::-webkit-file-upload-button'
</span><span class="cx"> PASS setThenReadSelectorText('::-webkit-search-cancel-button') is '*::-webkit-search-cancel-button'
</span><span class="cx"> PASS setThenReadSelectorText('::-webkit-search-decoration') is '*::-webkit-search-decoration'
</span><span class="lines">@@ -206,6 +227,26 @@
</span><span class="cx"> PASS setThenReadSelectorText(':matches(.ok a &gt;    ::first-letter, .ok b~ ::first-line, .ok c :after, .ok d +:before)') is ':matches(.ok a &gt; ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before)'
</span><span class="cx"> PASS setThenReadSelectorText(':matches(.ok a&gt; .ok ::first-letter, .ok b   ~.ok :first-line, .ok c .ok    ::after, .ok d + .ok ::before)') is ':matches(.ok a &gt; .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before)'
</span><span class="cx"> 
</span><ins>+PASS setThenReadSelectorText(':not(single    )') is ':not(single)'
+PASS setThenReadSelectorText(':not(a,b    ,p)') is ':not(a, b, p)'
+PASS setThenReadSelectorText(':not(#alice,                   #bob,#chris)') is ':not(#alice, #bob, #chris)'
+PASS setThenReadSelectorText(':not(  .selector,#tama,                #hanayo,#midoriko)') is ':not(.selector, #tama, #hanayo, #midoriko)'
+PASS setThenReadSelectorText(':not(    .name,#ok,:visited   )') is ':not(.name, #ok, :visited)'
+PASS setThenReadSelectorText(':not(    .name,#ok,    :visited, :link)') is ':not(.name, #ok, :visited, :link)'
+PASS setThenReadSelectorText(':not(    .name,#ok,    :not(:visited    ))') is ':not(.name, #ok, :not(:visited))'
+PASS setThenReadSelectorText(':not(.name,  #ok,:not(:link))') is ':not(.name, #ok, :not(:link))'
+PASS setThenReadSelectorText(':not(.name,#ok,:not(:link))') is ':not(.name, #ok, :not(:link))'
+PASS setThenReadSelectorText(':not(    .name,#ok,:-webkit-any(   hello))') is ':not(.name, #ok, :-webkit-any(hello))'
+PASS setThenReadSelectorText(':not(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))') is ':not(.name, #ok, :-webkit-any(.selector,#tama,#hanayo,#midoriko))'
+PASS setThenReadSelectorText(':not(       [type=&quot;file&quot;])') is ':not([type=&quot;file&quot;])'
+PASS setThenReadSelectorText(':not(  :hover    )') is ':not(:hover)'
+PASS setThenReadSelectorText('input:not([type=&quot;file&quot;],:hover,:focus):enabled') is 'input:not([type=&quot;file&quot;], :hover, :focus):enabled'
+PASS setThenReadSelectorText(':not(input[type=&quot;file&quot;], a:hover, button:focus)') is ':not(input[type=&quot;file&quot;], a:hover, button:focus)'
+PASS setThenReadSelectorText(':not( .class1.class2.class3   )') is ':not(.class1.class2.class3)'
+PASS setThenReadSelectorText(':not(.class1:hover   )') is ':not(.class1:hover)'
+PASS setThenReadSelectorText(':not(a.class1.class2.class3:hover   )') is ':not(a.class1.class2.class3:hover)'
+PASS setThenReadSelectorText(':not(:matches(single    ),:matches(a,b    ,p),:matches(#alice,                   #bob,#chris))') is ':not(:matches(single), :matches(a, b, p), :matches(#alice, #bob, #chris))'
+
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcsscsssetselectortexthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/css-set-selector-text.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/css-set-selector-text.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/css-set-selector-text.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -188,6 +188,33 @@
</span><span class="cx"> 
</span><span class="cx"> debug('');
</span><span class="cx"> 
</span><ins>+testSelectorRoundTrip(':not(div)');
+testSelectorRoundTrip(':not(.div)');
+testSelectorRoundTrip(':not(#div)');
+testSelectorRoundTrip(':not([div])');
+testSelectorRoundTrip(':not(:empty)');
+testSelectorRoundTrip(':not(div.div#div[div]:empty)');
+testSelectorRoundTrip(':not(div.div:empty[div]#div)');
+testSelectorRoundTrip(':not(div.div, #div[div], :empty)');
+testSelectorRoundTrip(':not(div, .div, #div, [div], :empty)');
+
+testSelectorRoundTrip(':not(:not(div))');
+testSelectorRoundTrip(':not(:not(div)):not(:not(foo)):not(:not(bar))');
+testSelectorRoundTrip(':not(:not(div, :not(foo, bar))):not(:not(foo)):not(:not(bar, baz))');
+
+testSelectorRoundTrip(':not(:matches(*))');
+testSelectorRoundTrip(':not(:matches(foo, bar))');
+testSelectorRoundTrip(':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar]))');
+testSelectorRoundTrip(':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar]))');
+
+testSelectorRoundTrip(':nth-child(2n of :not(a.b, c#d.e))');
+testSelectorRoundTrip(':not(:nth-child(2n of :not(a.b, c#d.e)))');
+
+testSelectorRoundTrip(':not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)');
+testSelectorRoundTrip('a:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child) &gt; d:not(a .b, #c &gt; [d], e + f:empty, .g ~ #h:first-child)');
+
+debug('');
+
</ins><span class="cx"> shouldBe(&quot;setThenReadSelectorText('::-webkit-file-upload-button')&quot;, &quot;'*::-webkit-file-upload-button'&quot;);
</span><span class="cx"> shouldBe(&quot;setThenReadSelectorText('::-webkit-search-cancel-button')&quot;, &quot;'*::-webkit-search-cancel-button'&quot;);
</span><span class="cx"> shouldBe(&quot;setThenReadSelectorText('::-webkit-search-decoration')&quot;, &quot;'*::-webkit-search-decoration'&quot;);
</span><span class="lines">@@ -275,6 +302,28 @@
</span><span class="cx"> 
</span><span class="cx"> debug('');
</span><span class="cx"> 
</span><ins>+shouldBe(&quot;setThenReadSelectorText(':not(single    )')&quot;, &quot;':not(single)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(a,b    ,p)')&quot;, &quot;':not(a, b, p)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(#alice,                   #bob,#chris)')&quot;, &quot;':not(#alice, #bob, #chris)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(  .selector,#tama,                #hanayo,#midoriko)')&quot;, &quot;':not(.selector, #tama, #hanayo, #midoriko)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(    .name,#ok,:visited   )')&quot;, &quot;':not(.name, #ok, :visited)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(    .name,#ok,    :visited, :link)')&quot;, &quot;':not(.name, #ok, :visited, :link)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(    .name,#ok,    :not(:visited    ))')&quot;, &quot;':not(.name, #ok, :not(:visited))'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(.name,  #ok,:not(:link))')&quot;, &quot;':not(.name, #ok, :not(:link))'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(.name,#ok,:not(:link))')&quot;, &quot;':not(.name, #ok, :not(:link))'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(    .name,#ok,:-webkit-any(   hello))')&quot;, &quot;':not(.name, #ok, :-webkit-any(hello))'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))')&quot;, &quot;':not(.name, #ok, :-webkit-any(.selector,#tama,#hanayo,#midoriko))'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(       [type=\&quot;file\&quot;])')&quot;, &quot;':not([type=\&quot;file\&quot;])'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(  :hover    )')&quot;, &quot;':not(:hover)'&quot;);
+shouldBe(&quot;setThenReadSelectorText('input:not([type=\&quot;file\&quot;],:hover,:focus):enabled')&quot;, &quot;'input:not([type=\&quot;file\&quot;], :hover, :focus):enabled'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(input[type=\&quot;file\&quot;], a:hover, button:focus)')&quot;, &quot;':not(input[type=\&quot;file\&quot;], a:hover, button:focus)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not( .class1.class2.class3   )')&quot;, &quot;':not(.class1.class2.class3)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(.class1:hover   )')&quot;, &quot;':not(.class1:hover)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(a.class1.class2.class3:hover   )')&quot;, &quot;':not(a.class1.class2.class3:hover)'&quot;);
+shouldBe(&quot;setThenReadSelectorText(':not(:matches(single    ),:matches(a,b    ,p),:matches(#alice,                   #bob,#chris))')&quot;, &quot;':not(:matches(single), :matches(a, b, p), :matches(#alice, #bob, #chris))'&quot;);
+
+debug('');
+
</ins><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssinvalidnotwithsimpleselectorsequenceexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -1,4 +0,0 @@
</span><del>-The test passes if the Filler Text below is green.
-
-Filler Text
-Pass
</del></span></pre></div>
<a id="trunkLayoutTestsfastcssinvalidnotwithsimpleselectorsequencehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/invalid-not-with-simple-selector-sequence.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -1,66 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;!-- Adapted from http://samples.msdn.microsoft.com/ietestcenter/css3/selectors/notSelectorSequence.htm --&gt;
-&lt;html&gt;
-&lt;head&gt;
-    &lt;title&gt;:not selector with simple selector sequence&lt;/title&gt;
-    &lt;style type=&quot;text/css&quot;&gt;
-    div {
-        color: green;
-    }
-
-    /* div#foo is not a simple selector, but a simple selector sequence.
-       Hence :not(div#foo) is invalid and the entire rule must be dropped.
-       The same applies for others below. */
-    div, div:not(div#foo) {
-        color: red;
-    }
-    div, div:not(div.bar) {
-        color: red;
-    }
-    div, div:not(#foo.bar) {
-        color: red;
-    }
-    div, div:not([name=&quot;x&quot;]#foo) {
-        color: red;
-    }
-    div, div:not(:nth-child(odd).bar) {
-        color: red;
-    }
-&lt;/style&gt;
-&lt;/head&gt;
-&lt;body&gt;
-    &lt;p&gt;The test passes if the Filler Text below is green.&lt;/p&gt;
-    &lt;div id=&quot;test&quot;&gt;Filler Text&lt;/div&gt;
-    &lt;div id=&quot;testresult&quot; style=&quot;color: blue&quot;&gt;Running&lt;/div&gt;
-    &lt;script type=&quot;text/javascript&quot;&gt;
-        function ArrayContains(array, value, ci)
-        {
-            for (var i = 0; i &lt; array.length; i++) {
-                if (ci &amp;&amp; array[i].toLowerCase() == value.toLowerCase())
-                    return true;
-                else if (array[i] == value)
-                    return true;
-            }
-            return false;
-        }
-        function TestCase()
-        {
-            try {
-                var target = document.getElementById(&quot;test&quot;);
-                var val = getComputedStyle(target, null).getPropertyValue(&quot;color&quot;);
-                var aExpectedValues = new Array(&quot;green&quot;, &quot;#008000&quot;, &quot;rgb(0, 128, 0)&quot;);
-
-                if (ArrayContains(aExpectedValues, val, true)) {
-                  document.getElementById(&quot;testresult&quot;).innerHTML = &quot;Pass&quot;;
-                  return;
-                }
-            } catch(e) {}
-
-            document.getElementById(&quot;testresult&quot;).innerHTML = &quot;Fail&quot;;
-        }
-        TestCase();
-        if (window.testRunner)
-          testRunner.dumpAsText();
-    &lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastcssnotbasicsexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/not-basics-expected.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/not-basics-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/not-basics-expected.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+    &lt;style&gt;
+        * {
+            color: black;
+        }
+    &lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test various use cases of the :not() pseudo class. If the test succeed, the text &quot;GREEN&quot; should be colored green.&lt;/p&gt;
+    &lt;div&gt;
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+
+        &lt;div&gt;
+            &lt;a&gt;
+                &lt;div&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                &lt;/div&gt;
+            &lt;/a&gt;
+        &lt;/div&gt;
+        &lt;div&gt;
+            &lt;div&gt;
+                &lt;div&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;div&gt;
+                        &lt;span&gt;WebKit&lt;/span&gt;
+                        &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt;
+                        &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;/div&gt;
+                &lt;/div&gt;
+            &lt;/div&gt;
+        &lt;/div&gt;
+
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+        &lt;span&gt;WebKit&lt;/span&gt; &lt;span style=&quot;color: green&quot;&gt;GREEN&lt;/span&gt; &lt;span&gt;WebKit&lt;/span&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssnotbasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/not-basics.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/not-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/not-basics.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+    &lt;style&gt;
+        * {
+            color: black;
+        }
+        /* Simple Selector. */
+        .case1:not(.notgreen) {
+            color: green;
+        }
+        /* Compound Selector. */
+        .case2:not(.foo.bar) {
+            color: green;
+        }
+        /* Element not in a link. */
+        .case3:not(a *) {
+            color: green;
+        }
+        /* Neither .foo nor .bar. */
+        .case4:not(.foo, .bar) {
+            color: green;
+        }
+    &lt;/style&gt;
+    &lt;script&gt;
+        window.addEventListener(&quot;load&quot;, function() {
+            document.body.offsetTop;    // Force layout.
+            document.getElementById(&quot;case1update1&quot;).classList.add(&quot;notgreen&quot;);
+            document.getElementById(&quot;case1update2&quot;).classList.add(&quot;notgreen&quot;);
+            document.getElementById(&quot;case2update1&quot;).classList.add(&quot;foo&quot;);
+            document.getElementById(&quot;case2update1&quot;).classList.add(&quot;bar&quot;);
+            document.getElementById(&quot;case2update2&quot;).classList.add(&quot;bar&quot;);
+            document.getElementById(&quot;case2update2&quot;).classList.add(&quot;foo&quot;);
+            document.getElementById(&quot;case4update1&quot;).classList.add(&quot;foo&quot;);
+            document.getElementById(&quot;case4update2&quot;).classList.add(&quot;bar&quot;);
+        });
+    &lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;p&gt;Test various use cases of the :not() pseudo class. If the test succeed, the text &quot;GREEN&quot; should be colored green.&lt;/p&gt;
+    &lt;div&gt;
+        &lt;span class=&quot;case1 notgreen&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case1&quot;&gt;GREEN&lt;/span&gt; &lt;span class=&quot;case1 notgreen&quot;&gt;WebKit&lt;/span&gt;
+        &lt;span id=&quot;case1update1&quot; class=&quot;case1&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case1&quot;&gt;GREEN&lt;/span&gt; &lt;span id=&quot;case1update2&quot; class=&quot;case1&quot;&gt;WebKit&lt;/span&gt;
+
+        &lt;span class=&quot;case2 foo bar&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case2&quot;&gt;GREEN&lt;/span&gt; &lt;span class=&quot;case2 foo bar&quot;&gt;WebKit&lt;/span&gt;
+        &lt;span id=&quot;case2update1&quot; class=&quot;case2&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case2&quot;&gt;GREEN&lt;/span&gt; &lt;span id=&quot;case2update2&quot; class=&quot;case2&quot;&gt;WebKit&lt;/span&gt;
+
+        &lt;div&gt;
+            &lt;a&gt;
+                &lt;div&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;span class=&quot;case3&quot;&gt;WebKit&lt;/span&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                &lt;/div&gt;
+            &lt;/a&gt;
+        &lt;/div&gt;
+        &lt;div&gt;
+            &lt;div&gt;
+                &lt;div&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;span class=&quot;case3&quot;&gt;GREEN&lt;/span&gt;
+                    &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;div&gt;
+                        &lt;span&gt;WebKit&lt;/span&gt;
+                        &lt;span class=&quot;case3&quot;&gt;GREEN&lt;/span&gt;
+                        &lt;span&gt;WebKit&lt;/span&gt;
+                    &lt;/div&gt;
+                &lt;/div&gt;
+            &lt;/div&gt;
+        &lt;/div&gt;
+
+        &lt;span class=&quot;case4 foo&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case4&quot;&gt;GREEN&lt;/span&gt; &lt;span class=&quot;case4 bar&quot;&gt;WebKit&lt;/span&gt;
+        &lt;span id=&quot;case4update1&quot; class=&quot;case4&quot;&gt;WebKit&lt;/span&gt; &lt;span class=&quot;case4&quot;&gt;GREEN&lt;/span&gt; &lt;span id=&quot;case4update2&quot; class=&quot;case4&quot;&gt;WebKit&lt;/span&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches5expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-5-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-5-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-5-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -10,8 +10,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches5html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-5.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-5.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-5.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -25,9 +25,6 @@
</span><span class="cx">     &quot;    &quot;,
</span><span class="cx">     &quot;,&quot;,
</span><span class="cx"> 
</span><del>-    // Currently not allows functional pseudo classes inside :not.
-    &quot;:not(:matches(cocoa, cappuccino))&quot;,
-
</del><span class="cx">     &quot;.123class&quot;,
</span><span class="cx">     &quot;#123id&quot;,
</span><span class="cx">     &quot;[]&quot;,
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches6expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-6-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-6-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-6-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -10,8 +10,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -38,8 +36,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -66,8 +62,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -94,8 +88,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -122,8 +114,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -150,8 +140,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -178,8 +166,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -206,8 +192,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -234,8 +218,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -262,8 +244,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -290,8 +270,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -318,8 +296,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -346,8 +322,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -374,8 +348,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -402,8 +374,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -430,8 +400,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -458,8 +426,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -486,8 +452,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -514,8 +478,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -542,8 +504,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -570,8 +530,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -592,14 +550,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches6html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-6.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-6.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-6.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -50,6 +50,7 @@
</span><span class="cx">     // Functional pseudo classes.
</span><span class="cx">     &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
</span><span class="cx">     &quot;:not(:link)&quot;,
</span><ins>+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
</ins><span class="cx">     &quot;:nth-child(even of a, b, c)&quot;,
</span><span class="cx"> ];
</span><span class="cx"> 
</span><span class="lines">@@ -59,9 +60,6 @@
</span><span class="cx">     &quot;    &quot;,
</span><span class="cx">     &quot;,&quot;,
</span><span class="cx"> 
</span><del>-    // Currently not allows functional pseudo classes inside :not.
-    &quot;:not(:matches(cocoa, cappuccino))&quot;,
-
</del><span class="cx">     &quot;.123class&quot;,
</span><span class="cx">     &quot;#123id&quot;,
</span><span class="cx">     &quot;[]&quot;,
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches7expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-7-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-7-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-7-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -10,8 +10,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,*,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,*,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,*,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,*,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -38,8 +36,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,#id,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -66,8 +62,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,:first-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -94,8 +88,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,:visited,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -122,8 +114,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -150,8 +140,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -178,8 +166,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -206,8 +192,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -234,8 +218,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -262,8 +244,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -290,8 +270,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(*,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(*,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -312,14 +290,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(*,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(*,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#id,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#id,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,#id,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -346,8 +348,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,:first-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -374,8 +374,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,:visited,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -402,8 +400,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -430,8 +426,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -458,8 +452,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -486,8 +478,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -514,8 +504,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -542,8 +530,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -570,8 +556,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -592,14 +576,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:first-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:first-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,:first-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -626,8 +634,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,:visited,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -654,8 +660,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -682,8 +686,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -710,8 +712,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -738,8 +738,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -766,8 +764,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -794,8 +790,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -822,8 +816,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:first-child,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -844,14 +836,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:first-child,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:first-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,:visited,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -878,8 +894,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -906,8 +920,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -934,8 +946,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -962,8 +972,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -990,8 +998,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1018,8 +1024,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1046,8 +1050,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:visited,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1068,14 +1070,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:visited,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:visited,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::first-line,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::first-line,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::first-line,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,::first-line,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::first-line,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::first-line,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1102,8 +1128,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1130,8 +1154,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1158,8 +1180,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1186,8 +1206,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1214,8 +1232,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1242,8 +1258,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-line,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1264,14 +1278,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-line,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-line,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(::after,::after,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,::after,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,::after,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,::after,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,::after,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,::after,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1298,8 +1336,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1326,8 +1362,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1354,8 +1388,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1382,8 +1414,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1410,8 +1440,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::after,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::after,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1432,14 +1460,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::after,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::after,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1466,8 +1518,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1494,8 +1544,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1522,8 +1570,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1550,8 +1596,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1572,14 +1616,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1606,8 +1674,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a &gt; b,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1634,8 +1700,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a &gt; b,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1662,8 +1726,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a &gt; b,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1684,14 +1746,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a &gt; b,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a &gt; b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b,a + b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1718,8 +1804,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1746,8 +1830,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1768,14 +1850,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1802,8 +1908,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1824,14 +1928,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1852,6 +1980,58 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:not(:link),:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:link),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches7html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-7.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-7.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-7.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Functional pseudo classes.
</span><span class="cx">     &quot;:not(:link)&quot;,
</span><ins>+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
</ins><span class="cx"> ];
</span><span class="cx"> 
</span><span class="cx"> var invalidSelectors = [
</span><span class="lines">@@ -48,9 +49,6 @@
</span><span class="cx">     &quot;    &quot;,
</span><span class="cx">     &quot;,&quot;,
</span><span class="cx"> 
</span><del>-    // Currently not allows functional pseudo classes inside :not.
-    &quot;:not(:matches(cocoa, cappuccino))&quot;,
-
</del><span class="cx">     &quot;.123class&quot;,
</span><span class="cx">     &quot;#123id&quot;,
</span><span class="cx">     &quot;[]&quot;,
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches8expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-8-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-8-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-8-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -10,8 +10,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,foobar,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -38,8 +36,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -66,8 +62,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,:last-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -94,8 +88,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::first-letter,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,::first-letter,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::first-letter,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::first-letter,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -122,8 +114,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -150,8 +140,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -178,8 +166,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -206,8 +192,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -234,8 +218,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -262,8 +244,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -290,8 +270,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -312,14 +290,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -346,8 +348,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,:last-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -374,8 +374,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::first-letter,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,::first-letter,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::first-letter,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::first-letter,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -402,8 +400,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -430,8 +426,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -458,8 +452,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -486,8 +478,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -514,8 +504,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -542,8 +530,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -570,8 +556,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(.class,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -592,14 +576,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(.class,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:last-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:last-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,:last-child,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -626,8 +634,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::first-letter,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,::first-letter,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::first-letter,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::first-letter,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -654,8 +660,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -682,8 +686,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -710,8 +712,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -738,8 +738,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -766,8 +764,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -794,8 +790,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -822,8 +816,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:last-child,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -844,14 +836,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:last-child,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:last-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::first-letter,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -878,8 +894,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -906,8 +920,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -934,8 +946,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -962,8 +972,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -990,8 +998,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1018,8 +1024,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1046,8 +1050,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::first-letter,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1068,14 +1070,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::first-letter,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::first-letter,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(::before,::before,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,::before,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,::before,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,::before,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,::before,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,::before,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1102,8 +1128,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1130,8 +1154,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1158,8 +1180,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1186,8 +1206,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1214,8 +1232,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1242,8 +1258,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(::before,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1264,14 +1278,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(::before,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(::before,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1298,8 +1336,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1326,8 +1362,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1354,8 +1388,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1382,8 +1414,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1410,8 +1440,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(foobar#id.class,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1432,14 +1460,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(foobar#id.class,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(foobar#id.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1466,8 +1518,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1494,8 +1544,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1522,8 +1570,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1550,8 +1596,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(#id:empty,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1572,14 +1616,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(#id:empty,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(#id:empty,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a b,a b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1606,8 +1674,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a b,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1634,8 +1700,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1662,8 +1726,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a b,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1684,14 +1746,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a b,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1718,8 +1804,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1746,8 +1830,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(a ~ b,:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1768,14 +1850,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(a ~ b,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(a ~ b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1802,8 +1908,6 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1824,14 +1928,38 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><del>-PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
-PASS document.getElementById('style-container').sheet.cssRules.length is 0
</del><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="lines">@@ -1852,6 +1980,58 @@
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><span class="cx"> PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
</span><span class="cx"> PASS document.getElementById('style-container').sheet.cssRules.length is 0
</span><ins>+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:matches(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssmatches8html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-css-matches-8.html (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-matches-8.html        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/css/parsing-css-matches-8.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx">     // Functional pseudo classes.
</span><span class="cx">     &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
</span><span class="cx">     &quot;:nth-child(even of a, b, c)&quot;,
</span><ins>+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
</ins><span class="cx"> ];
</span><span class="cx"> 
</span><span class="cx"> var invalidSelectors = [
</span><span class="lines">@@ -48,9 +49,6 @@
</span><span class="cx">     &quot;    &quot;,
</span><span class="cx">     &quot;,&quot;,
</span><span class="cx"> 
</span><del>-    // Currently not allows functional pseudo classes inside :not.
-    &quot;:not(:matches(cocoa, cappuccino))&quot;,
-
</del><span class="cx">     &quot;.123class&quot;,
</span><span class="cx">     &quot;#123id&quot;,
</span><span class="cx">     &quot;[]&quot;,
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot1expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-1-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-1-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-1-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,124 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+1 valid selectors
+PASS document.querySelector(&quot;:not(*)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*)&quot;
+PASS document.querySelector(&quot;:not(*    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*)&quot;
+PASS document.querySelector(&quot;:not(foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar)&quot;
+PASS document.querySelector(&quot;:not(#id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id)&quot;
+PASS document.querySelector(&quot;:not(#id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id)&quot;
+PASS document.querySelector(&quot;:not(.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class)&quot;
+PASS document.querySelector(&quot;:not(.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class)&quot;
+PASS document.querySelector(&quot;:not(:first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child)&quot;
+PASS document.querySelector(&quot;:not(:visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited)&quot;
+PASS document.querySelector(&quot;:not(:visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b)&quot;
+PASS document.querySelector(&quot;:not(a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b)&quot;
+PASS document.querySelector(&quot;:not(a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link))&quot;
+PASS document.querySelector(&quot;:not(:not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c))&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot1html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-1.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-1.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-1.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testValidSelector(selectorString, expectedSerializedSelector) {
+    shouldNotThrow('document.querySelector(&quot;:not(' + selectorString.replace(/\\/g, '\\\\') + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;1&quot;);
+    if (!expectedSerializedSelector)
+        expectedSerializedSelector = selectorString;
+    shouldBeEqualToString(&quot;document.getElementById('style-container').sheet.cssRules[0].selectorText&quot;, ':not(' + expectedSerializedSelector + ')');
+    styleContainer.innerHTML = '';
+}
+
+var validSelectors = [
+    // Basic types.
+    &quot;*&quot;,
+    &quot;foobar&quot;,
+    &quot;#id&quot;,
+    &quot;.class&quot;,
+    &quot;:first-child&quot;,
+    &quot;:last-child&quot;,
+    &quot;:visited&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;.class:not(.notclass)&quot;,
+    &quot;.class:matches(.notclass)&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a &gt; b&quot;,
+    &quot;a b&quot;,
+    &quot;a + b&quot;,
+    &quot;a ~ b&quot;,
+    &quot;a + b &gt; c ~ d e + g&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:not(:link)&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+];
+
+debug(&quot;1 valid selectors&quot;);
+for (var i = 0; i &lt; validSelectors.length; ++i) {
+    var selectorString = validSelectors[i];
+    testValidSelector(selectorString);
+    testValidSelector(selectorString + &quot;    &quot;, selectorString);
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot2expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-2-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-2-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-2-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,2176 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+2 valid selectors
+PASS document.querySelector(&quot;:not(*, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *)&quot;
+PASS document.querySelector(&quot;:not(*, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *)&quot;
+PASS document.querySelector(&quot;:not(*, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, foobar)&quot;
+PASS document.querySelector(&quot;:not(*, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, foobar)&quot;
+PASS document.querySelector(&quot;:not(*, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id)&quot;
+PASS document.querySelector(&quot;:not(*, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id)&quot;
+PASS document.querySelector(&quot;:not(*, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class)&quot;
+PASS document.querySelector(&quot;:not(*, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :last-child)&quot;
+PASS document.querySelector(&quot;:not(*, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :last-child)&quot;
+PASS document.querySelector(&quot;:not(*, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(*, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(*, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a b)&quot;
+PASS document.querySelector(&quot;:not(*, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a b)&quot;
+PASS document.querySelector(&quot;:not(*, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(*, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(*, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(*, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(*, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, *)&quot;
+PASS document.querySelector(&quot;:not(foobar, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, *)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :first-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :first-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :visited)&quot;
+PASS document.querySelector(&quot;:not(foobar, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :visited)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a + b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a + b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(foobar, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(foobar, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(foobar, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, *)&quot;
+PASS document.querySelector(&quot;:not(#id, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, *)&quot;
+PASS document.querySelector(&quot;:not(#id, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, foobar)&quot;
+PASS document.querySelector(&quot;:not(#id, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, foobar)&quot;
+PASS document.querySelector(&quot;:not(#id, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id)&quot;
+PASS document.querySelector(&quot;:not(#id, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id)&quot;
+PASS document.querySelector(&quot;:not(#id, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class)&quot;
+PASS document.querySelector(&quot;:not(#id, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :last-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :last-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(#id, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a b)&quot;
+PASS document.querySelector(&quot;:not(#id, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a b)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, *)&quot;
+PASS document.querySelector(&quot;:not(.class, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, *)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar)&quot;
+PASS document.querySelector(&quot;:not(.class, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id)&quot;
+PASS document.querySelector(&quot;:not(.class, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id)&quot;
+PASS document.querySelector(&quot;:not(.class, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class)&quot;
+PASS document.querySelector(&quot;:not(.class, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :visited)&quot;
+PASS document.querySelector(&quot;:not(.class, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :visited)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:first-child, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, *)&quot;
+PASS document.querySelector(&quot;:not(:first-child, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, *)&quot;
+PASS document.querySelector(&quot;:not(:first-child, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, foobar)&quot;
+PASS document.querySelector(&quot;:not(:first-child, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, foobar)&quot;
+PASS document.querySelector(&quot;:not(:first-child, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, #id)&quot;
+PASS document.querySelector(&quot;:not(:first-child, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, #id)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:first-child, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:first-child, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, *)&quot;
+PASS document.querySelector(&quot;:not(:last-child, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, *)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id)&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:last-child, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:visited, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, *)&quot;
+PASS document.querySelector(&quot;:not(:visited, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, *)&quot;
+PASS document.querySelector(&quot;:not(:visited, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, foobar)&quot;
+PASS document.querySelector(&quot;:not(:visited, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, foobar)&quot;
+PASS document.querySelector(&quot;:not(:visited, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, #id)&quot;
+PASS document.querySelector(&quot;:not(:visited, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, #id)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class)&quot;
+PASS document.querySelector(&quot;:not(:visited, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:visited, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:visited, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:visited, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:visited, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:visited, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:visited, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:visited, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:visited, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:visited, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, *)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, *)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :first-child)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :first-child)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :visited)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :visited)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a + b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a + b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), *)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), *)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), foobar)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), foobar)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), #id)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), #id)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :visited)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :visited)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), *)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), *)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), foobar)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), foobar)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), #id)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), #id)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :first-child)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :visited)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :visited)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class:matches(.notclass), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:matches(.notclass), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, *)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, *)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, foobar)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, foobar)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :last-child)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :last-child)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, *)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, *)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, #id)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, #id)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, *)&quot;
+PASS document.querySelector(&quot;:not(a b, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, *)&quot;
+PASS document.querySelector(&quot;:not(a b, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a b, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a b, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, #id)&quot;
+PASS document.querySelector(&quot;:not(a b, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, #id)&quot;
+PASS document.querySelector(&quot;:not(a b, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class)&quot;
+PASS document.querySelector(&quot;:not(a b, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class)&quot;
+PASS document.querySelector(&quot;:not(a b, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a b, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a b, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a b, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a b, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a b, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a b, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a b, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a b, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a b, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a b, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a b, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a b, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a b, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b)&quot;
+PASS document.querySelector(&quot;:not(a b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a + b, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, *)&quot;
+PASS document.querySelector(&quot;:not(a + b, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, *)&quot;
+PASS document.querySelector(&quot;:not(a + b, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a + b, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a + b, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, #id)&quot;
+PASS document.querySelector(&quot;:not(a + b, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, #id)&quot;
+PASS document.querySelector(&quot;:not(a + b, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class)&quot;
+PASS document.querySelector(&quot;:not(a + b, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class)&quot;
+PASS document.querySelector(&quot;:not(a + b, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a + b, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a + b, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a + b, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a + b, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a + b, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a + b, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a + b, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a + b, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a + b, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a + b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a + b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a + b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, *)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, *)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, foobar)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, #id)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, #id)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :visited)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, *)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, *)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, foobar)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, foobar)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, #id)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, #id)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :first-child)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :last-child)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :visited)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :visited)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), *)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), *)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :visited)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :visited)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), *)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), *)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), foobar)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), foobar)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), #id)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), #id)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :visited)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :visited)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a + b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a + b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), *)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), *)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), foobar)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), foobar)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), #id)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), #id)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :first-child)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :last-child)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :visited)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :visited)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class:matches(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), .class:matches(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), .class:matches(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a + b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a + b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot2html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-2.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-2.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-2.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testValidSelector(selectorString, expectedSerializedSelector) {
+    shouldNotThrow('document.querySelector(&quot;:not(' + selectorString.replace(/\\/g, '\\\\') + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;1&quot;);
+    if (!expectedSerializedSelector)
+        expectedSerializedSelector = selectorString;
+    shouldBeEqualToString(&quot;document.getElementById('style-container').sheet.cssRules[0].selectorText&quot;, ':not(' + expectedSerializedSelector + ')');
+    styleContainer.innerHTML = '';
+}
+
+var validSelectors = [
+    // Basic types.
+    &quot;*&quot;,
+    &quot;foobar&quot;,
+    &quot;#id&quot;,
+    &quot;.class&quot;,
+    &quot;:first-child&quot;,
+    &quot;:last-child&quot;,
+    &quot;:visited&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;.class:not(.notclass)&quot;,
+    &quot;.class:matches(.notclass)&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a &gt; b&quot;,
+    &quot;a b&quot;,
+    &quot;a + b&quot;,
+    &quot;a ~ b&quot;,
+    &quot;a + b &gt; c ~ d e + g&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:not(:link)&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+];
+
+debug(&quot;2 valid selectors&quot;);
+for (var i = 0; i &lt; validSelectors.length; ++i) {
+    for (var j = 0; j &lt; validSelectors.length; ++j) {
+        var selectorString = validSelectors[i] + ', ' + validSelectors[j];
+        testValidSelector(selectorString);
+        testValidSelector(selectorString + &quot;    &quot;, selectorString);
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot3expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-3-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-3-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-3-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,1000 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+3 valid selectors
+PASS document.querySelector(&quot;:not(*, *, *)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, *)&quot;
+PASS document.querySelector(&quot;:not(*, *, *    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, *)&quot;
+PASS document.querySelector(&quot;:not(*, *, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, #id)&quot;
+PASS document.querySelector(&quot;:not(*, *, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, #id)&quot;
+PASS document.querySelector(&quot;:not(*, *, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, *, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, *, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, *, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, *, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, *, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, *, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, *, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, *, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, *, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, *, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, *, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, *, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, *, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, *, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, #id, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, #id)&quot;
+PASS document.querySelector(&quot;:not(*, #id, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, #id)&quot;
+PASS document.querySelector(&quot;:not(*, #id, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, #id, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, #id, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, #id, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, #id, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, #id, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, #id, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, #id, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, #id, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, #id, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, #id, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, #id, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, #id, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, #id, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, #id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :first-child, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :visited, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, :visited, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, :visited, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :visited, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, .class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(*, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(*, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(*, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, #id, #id)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, #id)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, #id    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, #id)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, #id, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, #id, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, #id, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :first-child, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :visited, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, .class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(#id, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :first-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :first-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :first-child)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :first-child, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :first-child, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :visited, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, .class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:first-child, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:first-child, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, :visited)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, :visited    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, :visited)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :visited, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :visited, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, .class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:visited, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:visited, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), .class:not(.notclass))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), .class:not(.notclass)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), .class:not(.notclass))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), .class:not(.notclass), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), .class:not(.notclass), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(.class:not(.notclass), :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class:not(.notclass), :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a &gt; b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a &gt; b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a &gt; b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a &gt; b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a &gt; b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a &gt; b, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a &gt; b, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, a + b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, a + b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, a + b)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g)&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, a + b &gt; c ~ d e + g, :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g, :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a + b &gt; c ~ d e + g, :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :not(:link), :not(:link))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :not(:link), :not(:link))&quot;
+PASS document.querySelector(&quot;:not(:not(:link), :not(:link), :not(:link)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:not(:link), :not(:link), :not(:link))&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot3html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-3.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-3.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-3.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testValidSelector(selectorString, expectedSerializedSelector) {
+    shouldNotThrow('document.querySelector(&quot;:not(' + selectorString.replace(/\\/g, '\\\\') + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;1&quot;);
+    if (!expectedSerializedSelector)
+        expectedSerializedSelector = selectorString;
+    shouldBeEqualToString(&quot;document.getElementById('style-container').sheet.cssRules[0].selectorText&quot;, ':not(' + expectedSerializedSelector + ')');
+    styleContainer.innerHTML = '';
+}
+
+debug(&quot;3 valid selectors&quot;);
+
+var validSelectorsPart1 = [
+    // Basic types.
+    &quot;*&quot;,
+    &quot;#id&quot;,
+    &quot;:first-child&quot;,
+    &quot;:visited&quot;,
+
+    // Compound selectors.
+    &quot;.class:not(.notclass)&quot;,
+
+    // Complex selectors.
+    &quot;a &gt; b&quot;,
+    &quot;a + b&quot;,
+    &quot;a + b &gt; c ~ d e + g&quot;,
+
+    // Functional pseudo classes.
+    &quot;:not(:link)&quot;,
+];
+
+/* Try all combinations, each value is unique to the others. */
+for (var i = 0; i &lt; validSelectorsPart1.length; ++i) {
+    for (var j = i; j &lt; validSelectorsPart1.length; ++j) {
+        for (var k = j; k &lt; validSelectorsPart1.length; ++k) {
+            var selectorString = validSelectorsPart1[i] + ', ' + validSelectorsPart1[j] + ', ' + validSelectorsPart1[k];
+            testValidSelector(selectorString);
+            testValidSelector(selectorString + &quot;    &quot;, selectorString);
+        }
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot4expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-4-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-4-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-4-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,1000 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+3 valid selectors
+PASS document.querySelector(&quot;:not(foobar, foobar, foobar)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, foobar    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, foobar)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, .class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, .class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, .class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :last-child, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, foobar#id.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, #id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, .class, .class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, .class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, .class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, .class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, .class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, .class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :last-child, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, foobar#id.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, #id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :last-child)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :last-child    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :last-child)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :last-child, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :last-child, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, foobar#id.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, #id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:last-child, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:last-child, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, foobar#id.class)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, foobar#id.class    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, foobar#id.class)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, foobar#id.class, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, foobar#id.class, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, #id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(foobar#id.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(foobar#id.class, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, #id:empty)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, #id:empty    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, #id:empty)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, #id:empty, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, #id:empty, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(#id:empty, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(#id:empty, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, a b, a b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b, a b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, a b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, a b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, a b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a b, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, a ~ b)&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, a ~ b    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, a ~ b)&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, a ~ b, :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, a ~ b, :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(a ~ b, :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(a ~ b, :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c), :nth-child(even of a, b, c)    )&quot;) did not throw exception.
+PASS document.getElementById('style-container').sheet.cssRules.length is 1
+PASS document.getElementById('style-container').sheet.cssRules[0].selectorText is &quot;:not(:nth-child(even of a, b, c), :nth-child(even of a, b, c), :nth-child(even of a, b, c))&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot4html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-4.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-4.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-4.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testValidSelector(selectorString, expectedSerializedSelector) {
+    shouldNotThrow('document.querySelector(&quot;:not(' + selectorString.replace(/\\/g, '\\\\') + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;1&quot;);
+    if (!expectedSerializedSelector)
+        expectedSerializedSelector = selectorString;
+    shouldBeEqualToString(&quot;document.getElementById('style-container').sheet.cssRules[0].selectorText&quot;, ':not(' + expectedSerializedSelector + ')');
+    styleContainer.innerHTML = '';
+}
+
+debug(&quot;3 valid selectors&quot;);
+
+var validSelectorsPart2 = [
+    // Basic types.
+    &quot;foobar&quot;,
+    &quot;.class&quot;,
+    &quot;:last-child&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a b&quot;,
+    &quot;a ~ b&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+];
+
+/* Try all combinations, each value is unique to the others. */
+for (var i = 0; i &lt; validSelectorsPart2.length; ++i) {
+    for (var j = i; j &lt; validSelectorsPart2.length; ++j) {
+        for (var k = j; k &lt; validSelectorsPart2.length; ++k) {
+            var selectorString = validSelectorsPart2[i] + ', ' + validSelectorsPart2[j] + ', ' + validSelectorsPart2[k];
+            testValidSelector(selectorString);
+            testValidSelector(selectorString + &quot;    &quot;, selectorString);
+        }
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot5expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-5-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-5-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-5-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+1 invalid selectors
+PASS document.querySelector(&quot;:not(::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not([])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not({})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot5html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-5.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-5.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-5.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:not(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+var invalidSelectors = [
+    // Pseudo elements.
+    &quot;::first-letter&quot;,
+    &quot;::first-line&quot;,
+    &quot;::before&quot;,
+    &quot;::after&quot;,
+    &quot;:first-letter&quot;,
+    &quot;:first-line&quot;,
+    &quot;:before&quot;,
+    &quot;:after&quot;,
+
+    // Not selectors.
+    &quot;&quot;,
+    &quot;    &quot;,
+    &quot;,&quot;,
+
+    &quot;.123class&quot;,
+    &quot;#123id&quot;,
+    &quot;[]&quot;,
+    &quot;()&quot;,
+    &quot;)&quot;,
+    &quot;{}&quot;,
+    &quot;}&quot;,
+
+    // Empty functional pseudo classes.
+    &quot;:not()&quot;,
+    &quot;:matches()&quot;,
+    &quot;:nth-child()&quot;,
+    &quot;:nth-child(2n of)&quot;,
+
+    // Unbalanced parenthesized functional pseudo classes.
+    &quot;:not(&quot;,
+    &quot;:matches(&quot;,
+    &quot;:nth-child(2n+1 of&quot;,
+];
+
+debug(&quot;1 invalid selectors&quot;);
+for (var i = 0; i &lt; invalidSelectors.length; ++i) {
+    var selectorString = invalidSelectors[i];
+    testInvalidSelector(selectorString);
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot6expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-6-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-6-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-6-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,960 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+2 :not(valid, invalid) selectors
+PASS document.querySelector(&quot;:not(*,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:matches())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(2n of))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot6html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-6.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-6.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-6.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,97 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:not(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+var validSelectors = [
+    // Basic types.
+    &quot;*&quot;,
+    &quot;foobar&quot;,
+    &quot;#id&quot;,
+    &quot;.class&quot;,
+    &quot;:first-child&quot;,
+    &quot;:last-child&quot;,
+    &quot;:visited&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;.class:not(.notclass)&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a &gt; b&quot;,
+    &quot;a b&quot;,
+    &quot;a + b&quot;,
+    &quot;a ~ b&quot;,
+    &quot;a + b &gt; c ~ d e + g&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:not(:link)&quot;,
+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+];
+
+var invalidSelectors = [
+    // Pseudo elements.
+    &quot;::first-letter&quot;,
+    &quot;::first-line&quot;,
+    &quot;::before&quot;,
+    &quot;::after&quot;,
+    &quot;:first-letter&quot;,
+    &quot;:first-line&quot;,
+    &quot;:before&quot;,
+    &quot;:after&quot;,
+
+    // Not selectors.
+    &quot;&quot;,
+    &quot;    &quot;,
+    &quot;,&quot;,
+
+    &quot;.123class&quot;,
+    &quot;#123id&quot;,
+    &quot;[]&quot;,
+    &quot;()&quot;,
+    &quot;)&quot;,
+    &quot;{}&quot;,
+    &quot;}&quot;,
+
+    // Empty functional pseudo classes.
+    &quot;:not()&quot;,
+    &quot;:matches()&quot;,
+    &quot;:nth-child()&quot;,
+    &quot;:nth-child(2n of)&quot;,
+
+    // Unbalanced parenthesized functional pseudo classes.
+    &quot;:not(&quot;,
+    &quot;:matches(&quot;,
+    &quot;:nth-child(2n+1 of&quot;,
+];
+
+debug(&quot;2 :not(valid, invalid) selectors&quot;);
+for (var i = 0; i &lt; validSelectors.length; ++i) {
+    for (var j = 0; j &lt; invalidSelectors.length; ++j) {
+        var selectorString = validSelectors[i] + ',' + invalidSelectors[j];
+        testInvalidSelector(selectorString);
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot7expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-7-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-7-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-7-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,1880 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+3 :not(valid, valid, invalid) selectors
+PASS document.querySelector(&quot;:not(*,*,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,*,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,#id,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:first-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:visited,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(*,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,#id,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:first-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:visited,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:first-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:visited,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:first-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:visited,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:visited,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),.class:not(.notclass),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class:not(.notclass),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a &gt; b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a &gt; b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,a + b &gt; c ~ d e + g,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a + b &gt; c ~ d e + g,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:link),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:link),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot7html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-7.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-7.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-7.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:not(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+var validSelectorsPart1 = [
+    // Basic types.
+    &quot;*&quot;,
+    &quot;#id&quot;,
+    &quot;:first-child&quot;,
+    &quot;:visited&quot;,
+
+    // Compound selectors.
+    &quot;.class:not(.notclass)&quot;,
+
+    // Complex selectors.
+    &quot;a &gt; b&quot;,
+    &quot;a + b&quot;,
+    &quot;a + b &gt; c ~ d e + g&quot;,
+
+    // Functional pseudo classes.
+    &quot;:not(:link)&quot;,
+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
+];
+
+var invalidSelectors = [
+    // Pseudo elements.
+    &quot;::first-letter&quot;,
+    &quot;::first-line&quot;,
+    &quot;::before&quot;,
+    &quot;::after&quot;,
+
+    // Not selectors.
+    &quot;&quot;,
+    &quot;    &quot;,
+    &quot;,&quot;,
+
+    &quot;.123class&quot;,
+    &quot;#123id&quot;,
+    &quot;[]&quot;,
+    &quot;()&quot;,
+    &quot;)&quot;,
+    &quot;{}&quot;,
+    &quot;}&quot;,
+
+    // Unbalanced parenthesized functional pseudo classes.
+    &quot;:not(&quot;,
+    &quot;:matches(&quot;,
+    &quot;:nth-child(2n+1 of&quot;,
+];
+
+debug(&quot;3 :not(valid, valid, invalid) selectors&quot;);
+for (var i = 0; i &lt; validSelectorsPart1.length; ++i) {
+    for (var j = i; j &lt; validSelectorsPart1.length; ++j) {
+        for (var k = 0; k &lt; invalidSelectors.length; ++k) {
+            var selectorString = validSelectorsPart1[i] + ',' + validSelectorsPart1[j] + ',' + invalidSelectors[k];
+            testInvalidSelector(selectorString);
+        }
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot8expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-8-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-8-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-8-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,1880 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+3 :not(valid, valid, invalid) selectors
+PASS document.querySelector(&quot;:not(foobar,foobar,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::first-letter)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::first-line)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::before)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),::after)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),    )&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),,)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),.123class)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),#123id)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),[])&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),())&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),{})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),})&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches()&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of)&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot8html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-8.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-8.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-8.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:not(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+var validSelectorsPart2 = [
+    // Basic types.
+    &quot;foobar&quot;,
+    &quot;.class&quot;,
+    &quot;:last-child&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a b&quot;,
+    &quot;a ~ b&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
+];
+
+var invalidSelectors = [
+    // Pseudo elements.
+    &quot;::first-letter&quot;,
+    &quot;::first-line&quot;,
+    &quot;::before&quot;,
+    &quot;::after&quot;,
+
+    // Not selectors.
+    &quot;&quot;,
+    &quot;    &quot;,
+    &quot;,&quot;,
+
+    &quot;.123class&quot;,
+    &quot;#123id&quot;,
+    &quot;[]&quot;,
+    &quot;()&quot;,
+    &quot;)&quot;,
+    &quot;{}&quot;,
+    &quot;}&quot;,
+
+    // Unbalanced parenthesized functional pseudo classes.
+    &quot;:not(&quot;,
+    &quot;:matches(&quot;,
+    &quot;:nth-child(2n+1 of&quot;,
+];
+
+debug(&quot;3 :not(valid, valid, invalid) selectors&quot;);
+for (var i = 0; i &lt; validSelectorsPart2.length; ++i) {
+    for (var j = i; j &lt; validSelectorsPart2.length; ++j) {
+        for (var k = 0; k &lt; invalidSelectors.length; ++k) {
+            var selectorString = validSelectorsPart2[i] + ',' + validSelectorsPart2[j] + ',' + invalidSelectors[k];
+            testInvalidSelector(selectorString);
+        }
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot9expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-9-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-9-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-9-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,780 @@
</span><ins>+Test the parsing of :not(selectorList) for querySelector and style. This test focus on pseudo elements nested inside other functional pseudo class.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+3 :not(valid, valid, invalid) selectors
+PASS document.querySelector(&quot;:not(foobar,foobar,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:last-child,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,foobar#id.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,#id:empty,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:last-child,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,foobar#id.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,#id:empty,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:last-child,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,foobar#id.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,#id:empty,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:last-child,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,foobar#id.class,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,#id:empty,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(foobar#id.class,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,#id:empty,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(#id:empty,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a b,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,a ~ b,:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(a ~ b,:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:-webkit-any(.selector,#tama,#hanayo,#midoriko),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:-webkit-any(.selector,#tama,#hanayo,#midoriko),:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:nth-child(even of a, b, c),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:nth-child(even of a, b, c),:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:not(:not(:matches(cocoa, cappuccino)),:not(:matches(cocoa, cappuccino)),:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnot9html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-not-9.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-not-9.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-not-9.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,64 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :not(selectorList) for querySelector and style. This test focus on pseudo elements nested inside other functional pseudo class.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:not(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':not(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+var validSelectorsPart2 = [
+    // Basic types.
+    &quot;foobar&quot;,
+    &quot;.class&quot;,
+    &quot;:last-child&quot;,
+
+    // Compound selectors.
+    &quot;foobar#id.class&quot;,
+    &quot;#id:empty&quot;,
+
+    // Complex selectors.
+    &quot;a b&quot;,
+    &quot;a ~ b&quot;,
+
+    // Functional pseudo classes.
+    &quot;:-webkit-any(.selector,#tama,#hanayo,#midoriko)&quot;,
+    &quot;:nth-child(even of a, b, c)&quot;,
+    &quot;:not(:matches(cocoa, cappuccino))&quot;,
+];
+
+var invalidSelectors = [
+    &quot;:matches(a, b, c::after)&quot;,
+    &quot;:matches(a, b, c:after)&quot;,
+    &quot;:nth-child(2n+1 of d, e, :matches(f, g, ::before))&quot;,
+    &quot;:nth-child(2n+1 of d, e, :matches(f, g, :before))&quot;,
+    &quot;:not(:matches(a, b, c::after))&quot;,
+    &quot;:not(:matches(a, b, c:after))&quot;,
+    &quot;:matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after))))&quot;,
+];
+
+debug(&quot;3 :not(valid, valid, invalid) selectors&quot;);
+for (var i = 0; i &lt; validSelectorsPart2.length; ++i) {
+    for (var j = i; j &lt; validSelectorsPart2.length; ++j) {
+        for (var k = 0; k &lt; invalidSelectors.length; ++k) {
+            var selectorString = validSelectorsPart2[i] + ',' + validSelectorsPart2[j] + ',' + invalidSelectors[k];
+            testInvalidSelector(selectorString);
+        }
+    }
+}
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnthchildof4expectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,244 @@
</span><ins>+Test the parsing of :nth-child(of) for querySelector and style on deeply nested pseudo elements.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+Test invalid selectors:
+PASS document.querySelector(&quot;:nth-child(even of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(even of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(odd of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-n of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n+0 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(n-0 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(0n of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n+5 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n+5 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(3n-5 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :matches(a, b, c::after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :matches(a, b, c:after))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :nth-child(2n+1 of d, e, :matches(f, g, ::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :nth-child(2n+1 of d, e, :matches(f, g, :before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :not(:matches(a, b, c::after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :not(:matches(a, b, c:after)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :nth-child(odd of :nth-child(even of j::before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS document.querySelector(&quot;:nth-child(-3n-5 of :nth-child(odd of :nth-child(even of j:before)))&quot;) threw exception Error: SyntaxError: DOM Exception 12.
+PASS document.getElementById('style-container').sheet.cssRules.length is 0
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingcssnthchildof4html"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4.html                                (rev 0)
+++ trunk/LayoutTests/fast/css/parsing-css-nth-child-of-4.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style id=&quot;style-container&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Test the parsing of :nth-child(of) for querySelector and style on deeply nested pseudo elements.');
+
+function testInvalidSelector(selectorString) {
+    shouldThrow('document.querySelector(&quot;:nth-child(' + selectorString + ')&quot;)', '&quot;Error: SyntaxError: DOM Exception 12&quot;');
+
+    var styleContainer = document.getElementById('style-container');
+    styleContainer.innerHTML = ':nth-child(' + selectorString + ') { }';
+    shouldBe(&quot;document.getElementById('style-container').sheet.cssRules.length&quot;, &quot;0&quot;);
+    styleContainer.innerHTML = '';
+}
+
+// There are multiple ways of parsing :nth-child() based on the An+B part, we should test everything.
+var validNthAnPlusB = [
+    &quot;even&quot;,
+    &quot;odd&quot;,
+    &quot;n&quot;,
+    &quot;-n&quot;,
+    &quot;3&quot;,
+    &quot;-3&quot;,
+    &quot;n+0&quot;,
+    &quot;n-0&quot;,
+    &quot;0n&quot;,
+    &quot;3n+5&quot;,
+    &quot;-3n+5&quot;,
+    &quot;3n-5&quot;,
+    &quot;-3n-5&quot;,
+];
+
+debug(&quot;Test invalid selectors:&quot;);
+for (var i = 0; i &lt; validNthAnPlusB.length; ++i) {
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :matches(a, b, c::after)&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :matches(a, b, c:after)&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :nth-child(2n+1 of d, e, :matches(f, g, ::before))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :nth-child(2n+1 of d, e, :matches(f, g, :before))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :not(:matches(a, b, c::after))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :not(:matches(a, b, c:after))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after))))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :nth-child(odd of :nth-child(even of j::before))&quot;);
+    testInvalidSelector(validNthAnPlusB[i] + &quot; of :nth-child(odd of :nth-child(even of j:before))&quot;);
+
+}
+
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomSelectorAPIresigSelectorsAPItestexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> 
</span><span class="cx">  Show only failing tests.
</span><span class="cx"> 
</span><del>-100.0%: 2163 passed, 1 failed
</del><ins>+99.2%: 2147 passed, 17 failed
</ins><span class="cx"> PASS Element supports querySelector
</span><span class="cx"> PASS Element supports querySelectorAll
</span><span class="cx"> PASS Element.querySelectorAll Empty String
</span><span class="lines">@@ -555,10 +555,10 @@
</span><span class="cx"> PASS Syntax Error: Element.querySelector null
</span><span class="cx"> PASS Syntax Error: Element.querySelector undefined
</span><span class="cx"> PASS Syntax Error: Element.querySelector no value
</span><del>-PASS Syntax Error: Element.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Element.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Element.querySelectorAll: div:not(:not(div))
-PASS Syntax Error: Element.querySelector: div:not(:not(div))
</del><ins>+FAIL Syntax Error: Element.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Element.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Element.querySelectorAll: div:not(:not(div))
+FAIL Syntax Error: Element.querySelector: div:not(:not(div))
</ins><span class="cx"> PASS Syntax Error: Element.querySelectorAll: div,
</span><span class="cx"> PASS Syntax Error: Element.querySelector: div,
</span><span class="cx"> PASS Syntax Error: Element.querySelectorAll: .5cm
</span><span class="lines">@@ -1153,10 +1153,10 @@
</span><span class="cx"> PASS Syntax Error: Disconnected Element.querySelector null
</span><span class="cx"> PASS Syntax Error: Disconnected Element.querySelector undefined
</span><span class="cx"> PASS Syntax Error: Disconnected Element.querySelector no value
</span><del>-PASS Syntax Error: Disconnected Element.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Disconnected Element.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Disconnected Element.querySelectorAll: div:not(:not(div))
-PASS Syntax Error: Disconnected Element.querySelector: div:not(:not(div))
</del><ins>+FAIL Syntax Error: Disconnected Element.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Disconnected Element.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Disconnected Element.querySelectorAll: div:not(:not(div))
+FAIL Syntax Error: Disconnected Element.querySelector: div:not(:not(div))
</ins><span class="cx"> PASS Syntax Error: Disconnected Element.querySelectorAll: div,
</span><span class="cx"> PASS Syntax Error: Disconnected Element.querySelector: div,
</span><span class="cx"> PASS Syntax Error: Disconnected Element.querySelectorAll: .5cm
</span><span class="lines">@@ -1634,10 +1634,10 @@
</span><span class="cx"> PASS Syntax Error: Fragment.querySelector null
</span><span class="cx"> PASS Syntax Error: Fragment.querySelector undefined
</span><span class="cx"> PASS Syntax Error: Fragment.querySelector no value
</span><del>-PASS Syntax Error: Fragment.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Fragment.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Fragment.querySelectorAll: div:not(:not(div))
-PASS Syntax Error: Fragment.querySelector: div:not(:not(div))
</del><ins>+FAIL Syntax Error: Fragment.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Fragment.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Fragment.querySelectorAll: div:not(:not(div))
+FAIL Syntax Error: Fragment.querySelector: div:not(:not(div))
</ins><span class="cx"> PASS Syntax Error: Fragment.querySelectorAll: div,
</span><span class="cx"> PASS Syntax Error: Fragment.querySelector: div,
</span><span class="cx"> PASS Syntax Error: Fragment.querySelectorAll: .5cm
</span><span class="lines">@@ -1997,10 +1997,10 @@
</span><span class="cx"> PASS Syntax Error: Document.querySelector null
</span><span class="cx"> PASS Syntax Error: Document.querySelector undefined
</span><span class="cx"> PASS Syntax Error: Document.querySelector no value
</span><del>-PASS Syntax Error: Document.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Document.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
-PASS Syntax Error: Document.querySelectorAll: div:not(:not(div))
-PASS Syntax Error: Document.querySelector: div:not(:not(div))
</del><ins>+FAIL Syntax Error: Document.querySelectorAll: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Document.querySelector: .blox16:not(.blox15[foo=&quot;blox14&quot;])
+FAIL Syntax Error: Document.querySelectorAll: div:not(:not(div))
+FAIL Syntax Error: Document.querySelector: div:not(:not(div))
</ins><span class="cx"> PASS Syntax Error: Document.querySelectorAll: div,
</span><span class="cx"> PASS Syntax Error: Document.querySelector: div,
</span><span class="cx"> PASS Syntax Error: Document.querySelectorAll: .5cm
</span></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotbasicsexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-basics-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-basics-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-basics-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,394 @@
</span><ins>+Check the basic features of the &quot;:not(selectorList)&quot; pseudo class.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+Testing &quot;:not(testcaseA)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)').length is 5
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(.bar)').length is 3
+PASS document.querySelectorAll('#test-root :not(.bar)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(.bar)')[1].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.bar)')[2].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not([attribute1])&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1])').length is 3
+PASS document.querySelectorAll('#test-root :not([attribute1])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1])')[1].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1])')[2].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not([attribute1=value1])&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1=value1])').length is 3
+PASS document.querySelectorAll('#test-root :not([attribute1=value1])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1=value1])')[1].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not([attribute1=value1])')[2].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;[attribute1]:not([attribute1=value1])&quot;
+PASS document.querySelectorAll('#test-root [attribute1]:not([attribute1=value1])').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(#testcase3)&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)').length is 9
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[2].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[3].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[4].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[5].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[6].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[7].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase3)')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)').length is 8
+PASS document.querySelectorAll('#test-root :not(:empty)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[2].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[3].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[4].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[5].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[6].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:empty)')[7].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseB.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar)')[5].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.baz.foo.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)').length is 9
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[3].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[4].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[5].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[6].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[7].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar)')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not([id][class])&quot;
+PASS document.querySelectorAll('#test-root :not([id][class])').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])').length is 7
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[5].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value])')[6].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(.foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)').length is 9
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[3].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[4].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[5].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[6].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[7].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty)')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)').length is 6
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar)')[5].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)').length is 9
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[3].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[4].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[5].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[6].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[7].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar)')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html body &gt; div [id][class])&quot;
+PASS document.querySelectorAll('#test-root :not(html body &gt; div [id][class])').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:root div&gt;testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])').length is 7
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[5].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value])')[6].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(body&gt;div .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)').length is 9
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[3].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[4].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[5].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[6].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[7].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(body&gt;div .foo:empty)')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[2].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB + *)')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:root body&gt;div testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)').length is 6
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[2].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:root body&gt;div testcaseB + *)')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseA ~ *)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA ~ *)').length is 1
+PASS document.querySelectorAll('#test-root :not(testcaseA ~ *)')[0].id is &quot;testcase1&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseA + testcaseB ~ testcaseB)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[3].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[4].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA + testcaseB ~ testcaseB)')[5].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotbasicshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-basics.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-basics.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-basics.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,86 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+#test-root * {
+    background-color: red;
+}
+&lt;/style&gt;
+&lt;style id=&quot;style&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot; id=&quot;test-root&quot;&gt;
+        &lt;testcaseA id=&quot;testcase1&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase2&quot; class=&quot;bar baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase3&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase4&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase5&quot; class=&quot;foo baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase6&quot; attribute1=&quot;value1&quot; class=&quot;foo bar baz&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase7&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase8&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase9&quot; class=&quot;foo bar bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase10&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Check the basic features of the &quot;:not(selectorList)&quot; pseudo class.');
+
+function testQuerySelector(selector, expectedIds) {
+    shouldBe(&quot;document.querySelectorAll('&quot; + selector + &quot;').length&quot;, '' + expectedIds.length);
+    for (var i = 0; i &lt; expectedIds.length; ++i)
+        shouldBeEqualToString(&quot;document.querySelectorAll('&quot; + selector + &quot;')[&quot; + i + &quot;].id&quot;, expectedIds[i]);
+}
+
+function testStyling(selector, expectedIds) {
+    var stylingElement = document.getElementById(&quot;style&quot;);
+    stylingElement.innerHTML = '' + selector + ' { background-color: rgb(10, 100, 200); }';
+
+    var allTestCases = document.querySelectorAll(&quot;#test-root *&quot;);
+    for (var i = 0; i &lt; allTestCases.length; ++i) {
+        var expectMatch = expectedIds.indexOf(allTestCases[i].id) &gt;= 0;
+        shouldBeEqualToString('getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[' + i + ']).backgroundColor', expectMatch ? 'rgb(10, 100, 200)' : 'rgb(255, 0, 0)');
+    }
+
+    stylingElement.innerHTML = '';
+}
+
+function testSelector(selector, expectedIds) {
+    debug(&quot;Testing \&quot;&quot; + selector + &quot;\&quot;&quot;);
+    testQuerySelector(&quot;#test-root &quot; + selector, expectedIds);
+    testStyling(&quot;#test-root &quot; + selector, expectedIds);
+    debug(&quot;&quot;);
+}
+
+// Simple selectors.
+testSelector(&quot;:not(testcaseA)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(.bar)&quot;, [&quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not([attribute1])&quot;, [&quot;testcase2&quot;, &quot;testcase5&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not([attribute1=value1])&quot;, [&quot;testcase2&quot;, &quot;testcase5&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;[attribute1]:not([attribute1=value1])&quot;, []);
+testSelector(&quot;:not(#testcase3)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:empty)&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+
+// Compound selectors.
+testSelector(&quot;:not(testcaseB.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(.baz.foo.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not([id][class])&quot;, []);
+testSelector(&quot;:not(testcaseA[attribute1^=value])&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(.foo:empty)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+
+// Complex selectors.
+testSelector(&quot;:not(html&gt;body testcaseB.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(html body &gt; div [id][class])&quot;, []);
+testSelector(&quot;:not(:root div&gt;testcaseA[attribute1^=value])&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(body&gt;div .foo:empty)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+
+testSelector(&quot;:not(testcaseB + *)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:root body&gt;div testcaseB + *)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(testcaseA ~ *)&quot;, [&quot;testcase1&quot;]);
+testSelector(&quot;:not(testcaseA + testcaseB ~ testcaseB)&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotnestedexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-nested-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-nested-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-nested-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,366 @@
</span><ins>+Check the validity of :not() inside :not() matching.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+Testing &quot;:not(testcaseA)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)').length is 5
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(testcaseA))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(testcaseA))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(testcaseA)))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(testcaseA)))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(testcaseA))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(testcaseA))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(testcaseA)))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(testcaseA)))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(testcaseA))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(testcaseA))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(testcaseA)))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))')[4].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))').length is 5
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseA, :not(testcaseA))&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA, :not(testcaseA))').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;.baz:not(testcaseA)&quot;
+PASS document.querySelectorAll('#test-root .baz:not(testcaseA)').length is 3
+PASS document.querySelectorAll('#test-root .baz:not(testcaseA)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root .baz:not(testcaseA)')[1].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root .baz:not(testcaseA)')[2].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseA:not(.baz))&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))').length is 9
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[1].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[2].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[3].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[4].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[5].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[6].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[7].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA:not(.baz))')[8].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotnestedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-nested.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-nested.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-nested.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,84 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+#test-root * {
+    background-color: red;
+}
+&lt;/style&gt;
+&lt;style id=&quot;style&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot; id=&quot;test-root&quot;&gt;
+        &lt;testcaseA id=&quot;testcase1&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase2&quot; class=&quot;bar baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase3&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase4&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase5&quot; class=&quot;foo baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase6&quot; attribute1=&quot;value1&quot; class=&quot;foo bar baz&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase7&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase8&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase9&quot; class=&quot;foo bar bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase10&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Check the validity of :not() inside :not() matching.');
+
+function testQuerySelector(selector, expectedIds) {
+    shouldBe(&quot;document.querySelectorAll('&quot; + selector + &quot;').length&quot;, '' + expectedIds.length);
+    for (var i = 0; i &lt; expectedIds.length; ++i)
+        shouldBeEqualToString(&quot;document.querySelectorAll('&quot; + selector + &quot;')[&quot; + i + &quot;].id&quot;, expectedIds[i]);
+}
+
+function testStyling(selector, expectedIds) {
+    var stylingElement = document.getElementById(&quot;style&quot;);
+    stylingElement.innerHTML = '' + selector + ' { background-color: rgb(10, 100, 200); }';
+
+    var allTestCases = document.querySelectorAll(&quot;#test-root *&quot;);
+    for (var i = 0; i &lt; allTestCases.length; ++i) {
+        var expectMatch = expectedIds.indexOf(allTestCases[i].id) &gt;= 0;
+        shouldBeEqualToString('getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[' + i + ']).backgroundColor', expectMatch ? 'rgb(10, 100, 200)' : 'rgb(255, 0, 0)');
+    }
+
+    stylingElement.innerHTML = '';
+}
+
+function testSelector(selector, expectedIds) {
+    debug(&quot;Testing \&quot;&quot; + selector + &quot;\&quot;&quot;);
+    testQuerySelector(&quot;#test-root &quot; + selector, expectedIds);
+    testStyling(&quot;#test-root &quot; + selector, expectedIds);
+    debug(&quot;&quot;);
+}
+
+// Stress test the nesting.
+testSelector(&quot;:not(testcaseA)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(testcaseA))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(testcaseA)))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(testcaseA))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(testcaseA)))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(testcaseA))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA))))))))))))))))&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(:not(testcaseA)))))))))))))))))&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+
+// The matches inside the outside :not() is a tautology.
+testSelector(&quot;:not(testcaseA, :not(testcaseA))&quot;, []);
+
+// Interesting cases, :not() on a compound selector cannot be moved outside:
+// A &amp;&amp; !(B)   !=   !(B &amp;&amp; !A)
+testSelector(&quot;.baz:not(testcaseA)&quot;, [&quot;testcase2&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not(testcaseA:not(.baz))&quot;, [&quot;testcase1&quot;, &quot;testcase2&quot;, &quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotselectorlistexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-selector-list-expected.txt (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-selector-list-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-selector-list-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,552 @@
</span><ins>+Check the &quot;:not(selectorList)&quot; pseudo class with selector lists.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+Testing &quot;:not(testcaseA, testcaseB)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA, testcaseB)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(#testcase1, #testcase2, #testcase3, #testcase4, #testcase5, #testcase6, #testcase7, #testcase8, #testcase9, #testcase10)&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase1, #testcase2, #testcase3, #testcase4, #testcase5, #testcase6, #testcase7, #testcase8, #testcase9, #testcase10)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(#testcase1, #testcase2, #testcase4, #testcase5, #testcase6, #testcase8, #testcase9, #testcase10)&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase1, #testcase2, #testcase4, #testcase5, #testcase6, #testcase8, #testcase9, #testcase10)').length is 2
+PASS document.querySelectorAll('#test-root :not(#testcase1, #testcase2, #testcase4, #testcase5, #testcase6, #testcase8, #testcase9, #testcase10)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(#testcase1, #testcase2, #testcase4, #testcase5, #testcase6, #testcase8, #testcase9, #testcase10)')[1].id is &quot;testcase7&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseA, #testcase1, #testcase2, #testcase4, #testcase5, #testcase8, #testcase9, #testcase10)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA, #testcase1, #testcase2, #testcase4, #testcase5, #testcase8, #testcase9, #testcase10)').length is 1
+PASS document.querySelectorAll('#test-root :not(testcaseA, #testcase1, #testcase2, #testcase4, #testcase5, #testcase8, #testcase9, #testcase10)')[0].id is &quot;testcase6&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not([attribute3], [attribute2=value2])&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2])').length is 4
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2])')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2])')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2])')[2].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2])')[3].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not([attribute3], [attribute2=value2], testcaseB)&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2], testcaseB)').length is 2
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2], testcaseB)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not([attribute3], [attribute2=value2], testcaseB)')[1].id is &quot;testcase7&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.bar, .bazoo)&quot;
+PASS document.querySelectorAll('#test-root :not(.bar, .bazoo)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.foo, .bar)&quot;
+PASS document.querySelectorAll('#test-root :not(.foo, .bar)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.baz, .foo)&quot;
+PASS document.querySelectorAll('#test-root :not(.baz, .foo)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.bar.bazoo, .bar.baz)&quot;
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz)').length is 3
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz)')[1].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz)')[2].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseeA.bar.bazoo, .bar.baz)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[4].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz)')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseB.bar, .baz.foo.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar)')[5].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(.baz.foo.bar, testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])').length is 6
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[4].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(.baz.foo.bar, testcaseA[attribute1^=value])')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseA[attribute1^=value], .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)').length is 6
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseA[attribute1^=value], .foo:empty)')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(.foo:empty, .bar.baz)&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)').length is 5
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(.foo:empty, .bar.baz)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(.bar.bazoo, .bar.baz, testcaseeA.bar.bazoo, .baz.foo.bar, testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz, testcaseeA.bar.bazoo, .baz.foo.bar, testcaseA[attribute1^=value])').length is 2
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz, testcaseeA.bar.bazoo, .baz.foo.bar, testcaseA[attribute1^=value])')[0].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(.bar.bazoo, .bar.baz, testcaseeA.bar.bazoo, .baz.foo.bar, testcaseA[attribute1^=value])')[1].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)').length is 5
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)')[0].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])').length is 3
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])')[0].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])')[1].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])')[2].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)').length is 6
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[0].id is &quot;testcase1&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[1].id is &quot;testcase3&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[3].id is &quot;testcase7&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)')[5].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])').length is 3
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[0].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[1].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[2].id is &quot;testcase9&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)').length is 2
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[0].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[1].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)').length is 1
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[0].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)').length is 1
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[0].id is &quot;testcase8&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA ~ *)&quot;
+PASS document.querySelectorAll('#test-root :not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA ~ *)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])').length is 6
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[4].id is &quot;testcase9&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)').length is 5
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)').length is 4
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[2].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[3].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)').length is 4
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[2].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[3].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)').length is 1
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)')[0].id is &quot;testcase2&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB, testcaseA ~ *)&quot;
+PASS document.querySelectorAll('#test-root :not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB, testcaseA ~ *)').length is 0
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+Testing &quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)').length is 6
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[2].id is &quot;testcase5&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[3].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[4].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)')[5].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)').length is 5
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)').length is 5
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[0].id is &quot;testcase2&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[1].id is &quot;testcase4&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[2].id is &quot;testcase6&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[3].id is &quot;testcase8&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)')[4].id is &quot;testcase10&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+
+Testing &quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)&quot;
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)').length is 1
+PASS document.querySelectorAll('#test-root :not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)')[0].id is &quot;testcase2&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[0]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[1]).backgroundColor is &quot;rgb(10, 100, 200)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[2]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[3]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[4]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[5]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[6]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[7]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[8]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+PASS getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[9]).backgroundColor is &quot;rgb(255, 0, 0)&quot;
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastselectorsnotselectorlisthtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/selectors/not-selector-list.html (0 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/selectors/not-selector-list.html                                (rev 0)
+++ trunk/LayoutTests/fast/selectors/not-selector-list.html        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -0,0 +1,101 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+#test-root * {
+    background-color: red;
+}
+&lt;/style&gt;
+&lt;style id=&quot;style&quot;&gt;
+&lt;/style&gt;
+&lt;/head&gt;
+&lt;body&gt;
+    &lt;div style=&quot;display:none&quot; id=&quot;test-root&quot;&gt;
+        &lt;testcaseA id=&quot;testcase1&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase2&quot; class=&quot;bar baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase3&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase4&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase5&quot; class=&quot;foo baz bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase6&quot; attribute1=&quot;value1&quot; class=&quot;foo bar baz&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase7&quot; attribute1=&quot;value1&quot; class=&quot;bar baz bazoo&quot;&gt;Not empty&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase8&quot; attribute1=&quot;value1&quot; class=&quot;foo baz bazoo&quot;&gt;Not empty&lt;/testcaseB&gt;
+        &lt;testcaseA id=&quot;testcase9&quot; class=&quot;foo bar bazoo&quot; attribute2=&quot;value2&quot; attribute3=&quot;value3&quot;&gt;&lt;/testcaseA&gt;
+        &lt;testcaseB id=&quot;testcase10&quot; attribute1=&quot;value1&quot; class=&quot;foo bar bazoo&quot; attribute3=&quot;value3&quot;&gt;Not empty&lt;/testcaseB&gt;
+    &lt;/div&gt;
+&lt;/body&gt;
+&lt;script&gt;
+description('Check the &quot;:not(selectorList)&quot; pseudo class with selector lists.');
+
+function testQuerySelector(selector, expectedIds) {
+    shouldBe(&quot;document.querySelectorAll('&quot; + selector + &quot;').length&quot;, '' + expectedIds.length);
+    for (var i = 0; i &lt; expectedIds.length; ++i)
+        shouldBeEqualToString(&quot;document.querySelectorAll('&quot; + selector + &quot;')[&quot; + i + &quot;].id&quot;, expectedIds[i]);
+}
+
+function testStyling(selector, expectedIds) {
+    var stylingElement = document.getElementById(&quot;style&quot;);
+    stylingElement.innerHTML = '' + selector + ' { background-color: rgb(10, 100, 200); }';
+
+    var allTestCases = document.querySelectorAll(&quot;#test-root *&quot;);
+    for (var i = 0; i &lt; allTestCases.length; ++i) {
+        var expectMatch = expectedIds.indexOf(allTestCases[i].id) &gt;= 0;
+        shouldBeEqualToString('getComputedStyle(document.querySelectorAll(&quot;#test-root *&quot;)[' + i + ']).backgroundColor', expectMatch ? 'rgb(10, 100, 200)' : 'rgb(255, 0, 0)');
+    }
+
+    stylingElement.innerHTML = '';
+}
+
+function testSelector(selector, expectedIds) {
+    debug(&quot;Testing \&quot;&quot; + selector + &quot;\&quot;&quot;);
+    testQuerySelector(&quot;#test-root &quot; + selector, expectedIds);
+    testStyling(&quot;#test-root &quot; + selector, expectedIds);
+    debug(&quot;&quot;);
+}
+
+// Simple selectors.
+testSelector(&quot;:not(testcaseA, testcaseB)&quot;, []);
+testSelector(&quot;:not(#testcase1, #testcase2, #testcase3, #testcase4, #testcase5, #testcase6, #testcase7, #testcase8, #testcase9, #testcase10)&quot;, []);
+testSelector(&quot;:not(#testcase1, #testcase2, #testcase4, #testcase5, #testcase6, #testcase8, #testcase9, #testcase10)&quot;, [&quot;testcase3&quot;, &quot;testcase7&quot;]);
+testSelector(&quot;:not(testcaseA, #testcase1, #testcase2, #testcase4, #testcase5, #testcase8, #testcase9, #testcase10)&quot;, [&quot;testcase6&quot;]);
+testSelector(&quot;:not([attribute3], [attribute2=value2])&quot;, [&quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not([attribute3], [attribute2=value2], testcaseB)&quot;, [&quot;testcase3&quot;, &quot;testcase7&quot;]);
+testSelector(&quot;:not(.bar, .bazoo)&quot;, []);
+testSelector(&quot;:not(.foo, .bar)&quot;, []);
+testSelector(&quot;:not(.baz, .foo)&quot;, []);
+
+// Compound selectors.
+testSelector(&quot;:not(.bar.bazoo, .bar.baz)&quot;, [&quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not(testcaseeA.bar.bazoo, .bar.baz)&quot;, [&quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(testcaseB.bar, .baz.foo.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(.baz.foo.bar, testcaseA[attribute1^=value])&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(testcaseA[attribute1^=value], .foo:empty)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(.foo:empty, .bar.baz)&quot;, [&quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+
+testSelector(&quot;:not(.bar.bazoo, .bar.baz, testcaseeA.bar.bazoo, .baz.foo.bar, testcaseA[attribute1^=value])&quot;, [&quot;testcase5&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not(testcaseeA.bar.bazoo, .bar.baz, .foo:empty)&quot;, [&quot;testcase3&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(testcaseB.bar, .baz.foo.bar, testcaseA[attribute1^=value])&quot;, [&quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+
+// Complex selectors.
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar)&quot;, [&quot;testcase1&quot;, &quot;testcase3&quot;, &quot;testcase5&quot;, &quot;testcase7&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])&quot;, [&quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;]);
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;, [&quot;testcase5&quot;, &quot;testcase8&quot;]);
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;, [&quot;testcase8&quot;]);
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;, [&quot;testcase8&quot;]);
+testSelector(&quot;:not(html&gt;body testcaseB.bar, html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA ~ *)&quot;, []);
+
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value])&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase9&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)&quot;, [&quot;testcase2&quot;]);
+testSelector(&quot;:not(html body div .baz.foo.bar, :root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB, testcaseA ~ *)&quot;, []);
+
+testSelector(&quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase5&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *)&quot;, [&quot;testcase2&quot;, &quot;testcase4&quot;, &quot;testcase6&quot;, &quot;testcase8&quot;, &quot;testcase10&quot;]);
+testSelector(&quot;:not(:root div&gt;testcaseA[attribute1^=value], body&gt;div .foo:empty, testcaseB + *, :root body&gt;div testcaseB + *, testcaseA + testcaseB ~ testcaseB)&quot;, [&quot;testcase2&quot;,]);
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3htmlcss3modsel61expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-61-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x34
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x18
</span><span class="cx">       RenderBlock {DIV} at (0,0) size 784x18
</span><del>-        RenderInline {A} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#00FF00]
</del><ins>+        RenderInline {A} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#FF0000]
</ins><span class="cx">           RenderText {#text} at (0,0) size 284x18
</span><span class="cx">             text run at (0,0) width 284: &quot;This anchor should have a green background&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3htmlcss3modsel83expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-83-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -3,6 +3,6 @@
</span><span class="cx"> layer at (0,0) size 800x50
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x50
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x18
</span><del>-      RenderBlock {P} at (0,0) size 784x18 [bgcolor=#00FF00]
</del><ins>+      RenderBlock {P} at (0,0) size 784x18 [bgcolor=#FF0000]
</ins><span class="cx">         RenderText {#text} at (0,0) size 304x18
</span><span class="cx">           text run at (0,0) width 304: &quot;This paragraph should have a green background&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3xhtmlcss3modsel61expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-61-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x34
</span><span class="cx">     RenderBody {body} at (8,8) size 784x18
</span><span class="cx">       RenderBlock {div} at (0,0) size 784x18
</span><del>-        RenderInline {a} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#00FF00]
</del><ins>+        RenderInline {a} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#FF0000]
</ins><span class="cx">           RenderText {#text} at (0,0) size 284x18
</span><span class="cx">             text run at (0,0) width 284: &quot;This anchor should have a green background&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3xhtmlcss3modsel83expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-83-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -3,6 +3,6 @@
</span><span class="cx"> layer at (0,0) size 800x50
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x50
</span><span class="cx">     RenderBody {body} at (8,16) size 784x18
</span><del>-      RenderBlock {p} at (0,0) size 784x18 [bgcolor=#00FF00]
</del><ins>+      RenderBlock {p} at (0,0) size 784x18 [bgcolor=#FF0000]
</ins><span class="cx">         RenderText {#text} at (0,0) size 304x18
</span><span class="cx">           text run at (0,0) width 304: &quot;This paragraph should have a green background&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3xmlcss3modsel61expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-61-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> layer at (0,0) size 800x18
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x18
</span><span class="cx">     RenderBlock {div} at (0,0) size 800x18
</span><del>-      RenderInline {a} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#00FF00]
</del><ins>+      RenderInline {a} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#FF0000]
</ins><span class="cx">         RenderText {#text} at (0,0) size 284x18
</span><span class="cx">           text run at (0,0) width 284: &quot;This anchor should have a green background&quot;
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss3selectors3xmlcss3modsel83expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-83-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -2,6 +2,6 @@
</span><span class="cx">   RenderView at (0,0) size 800x600
</span><span class="cx"> layer at (0,0) size 800x50
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x50
</span><del>-    RenderBlock {p} at (0,16) size 800x18 [bgcolor=#00FF00]
</del><ins>+    RenderBlock {p} at (0,16) size 800x18 [bgcolor=#FF0000]
</ins><span class="cx">       RenderText {#text} at (0,0) size 304x18
</span><span class="cx">         text run at (0,0) width 304: &quot;This paragraph should have a green background&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastselectors061expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/selectors/061-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/selectors/061-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/fast/selectors/061-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x34
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x18
</span><span class="cx">       RenderBlock {DIV} at (0,0) size 784x18
</span><del>-        RenderInline {A} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#00FF00]
</del><ins>+        RenderInline {A} at (0,0) size 284x18 [color=#551A8B] [bgcolor=#FF0000]
</ins><span class="cx">           RenderText {#text} at (0,0) size 284x18
</span><span class="cx">             text run at (0,0) width 284: &quot;This anchor should have a green background&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastselectors083expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/selectors/083-expected.txt (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/selectors/083-expected.txt        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/LayoutTests/platform/mac/fast/selectors/083-expected.txt        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -3,6 +3,6 @@
</span><span class="cx"> layer at (0,0) size 800x50
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x50
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x18
</span><del>-      RenderBlock {P} at (0,0) size 784x18 [bgcolor=#00FF00]
</del><ins>+      RenderBlock {P} at (0,0) size 784x18 [bgcolor=#FF0000]
</ins><span class="cx">         RenderText {#text} at (0,0) size 304x18
</span><span class="cx">           text run at (0,0) width 304: &quot;This paragraph should have a green background&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/ChangeLog        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -1,3 +1,66 @@
</span><ins>+2014-10-09  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        Add the baseline implementation of :not(selectorList)
+        https://bugs.webkit.org/show_bug.cgi?id=137548
+
+        Reviewed by Andreas Kling.
+
+        This patch extend the pseudo class :not() to support the new definition
+        in CSS Selectors level 4.
+
+        Instead of supporting a single simple selector, :not() now support
+        an arbitrary selector list, excepted pseudo elements.
+
+        One side effect of this change is :visited and :link are no longer supported
+        inside :not(). The reason has to do with complexity and performance.
+        Since :not() and :matches() can have arbitrary selector list, keeping track of
+        :visited and :link can have many combination superposing, some valid, some invalid.
+
+        Supporting :visited and :link should be possible by chaning the way we handle
+        them for style resolution, but given the limited use cases for such features
+        I'll wait to see if there is any interest before changing everything.
+
+        This patch only covers SelectorChecker to keep things simple. The CSS JIT
+        will come later.
+
+        Tests: fast/css/not-basics.html
+               fast/css/parsing-css-not-1.html
+               fast/css/parsing-css-not-2.html
+               fast/css/parsing-css-not-3.html
+               fast/css/parsing-css-not-4.html
+               fast/css/parsing-css-not-5.html
+               fast/css/parsing-css-not-6.html
+               fast/css/parsing-css-not-7.html
+               fast/css/parsing-css-not-8.html
+               fast/css/parsing-css-not-9.html
+               fast/css/parsing-css-nth-child-of-4.html
+               fast/selectors/not-basics.html
+               fast/selectors/not-nested.html
+               fast/selectors/not-selector-list.html
+
+        * css/CSSGrammar.y.in:
+        Rename selectorListDoesNotMatchAnyPseudoElement() to selectorListDoesNotMatchAnyPseudoElement()
+        since both :not() and :nth-child(An+B of selectorList) have the same requirements at the moment. 
+
+        * css/CSSParserValues.cpp:
+        (WebCore::selectorListMatchesPseudoElement):
+        The patch adding :matches() introduced the possibility of putting pseudo element
+        arbitrary deep in a sequence of nested :matches(). Since this case is forbidded
+        by :not() and :nth-child(An+B of selectorList), selectorListMatchesPseudoElement()
+        now becomes recursive to find those pseudo elements.
+
+        * css/CSSSelector.cpp:
+        (WebCore::CSSSelector::selectorText):
+        CSSOM for the extended :not().
+
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOne):
+        (WebCore::SelectorChecker::determineLinkMatchType):
+        * cssjit/SelectorCompiler.cpp:
+
+        (WebCore::SelectorCompiler::addPseudoClassType):
+        Disable the new capabilities from the JIT for now.
+
</ins><span class="cx"> 2014-10-09  Tim Horton  &lt;timothy_horton@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Move ServicesOverlayController to WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSGrammaryin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSGrammar.y.in (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSGrammar.y.in        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/css/CSSGrammar.y.in        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> 
</span><span class="cx"> auto invalidSelectorVector = reinterpret_cast&lt;Vector&lt;std::unique_ptr&lt;CSSParserSelector&gt;&gt;*&gt;(-1);
</span><span class="cx"> 
</span><del>-static bool isValidNthSelectorList(const Vector&lt;std::unique_ptr&lt;CSSParserSelector&gt;&gt;* selectorVector)
</del><ins>+static bool selectorListDoesNotMatchAnyPseudoElement(const Vector&lt;std::unique_ptr&lt;CSSParserSelector&gt;&gt;* selectorVector)
</ins><span class="cx"> {
</span><span class="cx">     if (!selectorVector)
</span><span class="cx">         return true;
</span><span class="lines">@@ -1364,7 +1364,7 @@
</span><span class="cx">     // Definition of :nth-child().
</span><span class="cx">     | ':' NTHCHILDFUNCTION maybe_space NTH nth_selector_ending {
</span><span class="cx">         $$ = nullptr;
</span><del>-        if (isValidNthSelectorList($5)) {
</del><ins>+        if (selectorListDoesNotMatchAnyPseudoElement($5)) {
</ins><span class="cx">             auto selector = std::make_unique&lt;CSSParserSelector&gt;();
</span><span class="cx">             selector-&gt;setMatch(CSSSelector::PseudoClass);
</span><span class="cx">             selector-&gt;setArgument($4);
</span><span class="lines">@@ -1377,7 +1377,7 @@
</span><span class="cx">     }
</span><span class="cx">     | ':' NTHCHILDFUNCTION maybe_space maybe_unary_operator INTEGER nth_selector_ending {
</span><span class="cx">         $$ = nullptr;
</span><del>-        if (isValidNthSelectorList($6)) {
</del><ins>+        if (selectorListDoesNotMatchAnyPseudoElement($6)) {
</ins><span class="cx">             auto selector = std::make_unique&lt;CSSParserSelector&gt;();
</span><span class="cx">             selector-&gt;setMatch(CSSSelector::PseudoClass);
</span><span class="cx">             selector-&gt;setArgument(AtomicString::number($4 * $5));
</span><span class="lines">@@ -1390,7 +1390,7 @@
</span><span class="cx">     }
</span><span class="cx">     | ':' NTHCHILDFUNCTION maybe_space IDENT nth_selector_ending {
</span><span class="cx">         $$ = nullptr;
</span><del>-        if (isValidNthToken($4) &amp;&amp; isValidNthSelectorList($5)) {
</del><ins>+        if (isValidNthToken($4) &amp;&amp; selectorListDoesNotMatchAnyPseudoElement($5)) {
</ins><span class="cx">             auto selector = std::make_unique&lt;CSSParserSelector&gt;();
</span><span class="cx">             selector-&gt;setMatch(CSSSelector::PseudoClass);
</span><span class="cx">             selector-&gt;setArgument($4);
</span><span class="lines">@@ -1441,7 +1441,20 @@
</span><span class="cx">         $$ = selector.release();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    // used by :not
</del><ins>+    // Definition of :not().
+#if ENABLE_CSS_SELECTORS_LEVEL4
+    | ':' NOTFUNCTION maybe_space nested_selector_list maybe_space ')' {
+        $$ = nullptr;
+        if ($4 &amp;&amp; selectorListDoesNotMatchAnyPseudoElement($4)) {
+            auto selector = std::make_unique&lt;CSSParserSelector&gt;();
+            selector-&gt;setMatch(CSSSelector::PseudoClass);
+            selector-&gt;setPseudoClassValue($2);
+            selector-&gt;adoptSelectorVector(*std::unique_ptr&lt;Vector&lt;std::unique_ptr&lt;CSSParserSelector&gt;&gt;&gt;($4));
+            if (selector-&gt;pseudoClassType() == CSSSelector::PseudoClassNot)
+                $$ = selector.release();
+        }
+    }
+#else
</ins><span class="cx">     | ':' NOTFUNCTION maybe_space compound_selector maybe_space ')' {
</span><span class="cx">         std::unique_ptr&lt;CSSParserSelector&gt; selector($4);
</span><span class="cx">         $$ = nullptr;
</span><span class="lines">@@ -1455,6 +1468,7 @@
</span><span class="cx">             $$-&gt;setPseudoClassValue($2);
</span><span class="cx">         }
</span><span class="cx">     }
</span><ins>+#endif
</ins><span class="cx">   ;
</span><span class="cx"> 
</span><span class="cx"> declaration_list:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParserValuescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParserValues.cpp (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParserValues.cpp        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/css/CSSParserValues.cpp        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -295,6 +295,10 @@
</span><span class="cx">         for (const CSSSelector* selector = subSelector; selector; selector = selector-&gt;tagHistory()) {
</span><span class="cx">             if (selector-&gt;matchesPseudoElement())
</span><span class="cx">                 return true;
</span><ins>+            if (const CSSSelectorList* subselectorList = selector-&gt;selectorList()) {
+                if (selectorListMatchesPseudoElement(subselectorList))
+                    return true;
+            }
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSSelectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSSelector.cpp (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSSelector.cpp        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/css/CSSSelector.cpp        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -406,8 +406,12 @@
</span><span class="cx">                 break;
</span><span class="cx">             case CSSSelector::PseudoClassNot:
</span><span class="cx">                 str.appendLiteral(&quot;:not(&quot;);
</span><ins>+#if ENABLE(CSS_SELECTORS_LEVEL4)
+                appendSelectorList(str, cs-&gt;selectorList());
+#else
</ins><span class="cx">                 if (const CSSSelectorList* selectorList = cs-&gt;selectorList())
</span><span class="cx">                     str.append(selectorList-&gt;first()-&gt;selectorText());
</span><ins>+#endif
</ins><span class="cx">                 str.append(')');
</span><span class="cx">                 break;
</span><span class="cx">             case CSSSelector::PseudoClassNthChild:
</span></span></pre></div>
<a id="trunkSourceWebCorecssSelectorCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SelectorChecker.cpp        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -521,26 +521,41 @@
</span><span class="cx">         if (selector-&gt;pseudoClassType() == CSSSelector::PseudoClassNot) {
</span><span class="cx">             const CSSSelectorList* selectorList = selector-&gt;selectorList();
</span><span class="cx"> 
</span><ins>+#if !ENABLE(CSS_SELECTORS_LEVEL4)
</ins><span class="cx">             // FIXME: We probably should fix the parser and make it never produce :not rules with missing selector list.
</span><span class="cx">             if (!selectorList)
</span><span class="cx">                 return false;
</span><ins>+#endif
</ins><span class="cx"> 
</span><del>-            CheckingContextWithStatus subContext(context);
-            subContext.inFunctionalPseudoClass = true;
-            subContext.firstSelectorOfTheFragment = selectorList-&gt;first();
-            for (subContext.selector = selectorList-&gt;first(); subContext.selector; subContext.selector = subContext.selector-&gt;tagHistory()) {
-                if (subContext.selector-&gt;match() == CSSSelector::PseudoClass) {
</del><ins>+            for (const CSSSelector* subselector = selectorList-&gt;first(); subselector; subselector = CSSSelectorList::next(subselector)) {
+                CheckingContextWithStatus subcontext(context);
+                subcontext.inFunctionalPseudoClass = true;
+                subcontext.selector = subselector;
+                subcontext.firstSelectorOfTheFragment = selectorList-&gt;first();
+
+#if ENABLE(CSS_SELECTORS_LEVEL4)
+                PseudoId ignoreDynamicPseudo = NOPSEUDO;
+                if (matchRecursively(subcontext, ignoreDynamicPseudo) == SelectorMatches) {
+                    ASSERT(ignoreDynamicPseudo == NOPSEUDO);
+                    return false;
+                }
+#else
+                if (subcontext.selector-&gt;match() == CSSSelector::PseudoClass) {
</ins><span class="cx">                     // :not cannot nest. I don't really know why this is a
</span><span class="cx">                     // restriction in CSS3, but it is, so let's honor it.
</span><span class="cx">                     // the parser enforces that this never occurs
</span><del>-                    ASSERT(subContext.selector-&gt;pseudoClassType() != CSSSelector::PseudoClassNot);
</del><ins>+                    ASSERT(subcontext.selector-&gt;pseudoClassType() != CSSSelector::PseudoClassNot);
</ins><span class="cx">                     // We select between :visited and :link when applying. We don't know which one applied (or not) yet.
</span><del>-                    if (subContext.selector-&gt;pseudoClassType() == CSSSelector::PseudoClassVisited || (subContext.selector-&gt;pseudoClassType() == CSSSelector::PseudoClassLink &amp;&amp; subContext.visitedMatchType == VisitedMatchType::Enabled))
</del><ins>+                    if (subcontext.selector-&gt;pseudoClassType() == CSSSelector::PseudoClassVisited || (subcontext.selector-&gt;pseudoClassType() == CSSSelector::PseudoClassLink &amp;&amp; subcontext.visitedMatchType == VisitedMatchType::Enabled))
</ins><span class="cx">                         return true;
</span><span class="cx">                 }
</span><del>-                if (!checkOne(subContext))
</del><ins>+                if (!checkOne(subcontext))
</ins><span class="cx">                     return true;
</span><ins>+#endif
</ins><span class="cx">             }
</span><ins>+#if ENABLE(CSS_SELECTORS_LEVEL4)
+            return true;
+#endif
</ins><span class="cx">         } else if (context.hasScrollbarPseudo) {
</span><span class="cx">             // CSS scrollbars match a specific subset of pseudo classes, and they have specialized rules for each
</span><span class="cx">             // (since there are no elements involved except with window-inactive).
</span><span class="lines">@@ -960,6 +975,7 @@
</span><span class="cx">     for (; selector; selector = selector-&gt;tagHistory()) {
</span><span class="cx">         if (selector-&gt;match() == CSSSelector::PseudoClass) {
</span><span class="cx">             switch (selector-&gt;pseudoClassType()) {
</span><ins>+#if! ENABLE(CSS_SELECTORS_LEVEL4)
</ins><span class="cx">             case CSSSelector::PseudoClassNot:
</span><span class="cx">                 {
</span><span class="cx">                     // :not(:visited) is equivalent to :link. Parser enforces that :not can't nest.
</span><span class="lines">@@ -978,6 +994,7 @@
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">                 break;
</span><ins>+#endif
</ins><span class="cx">             case CSSSelector::PseudoClassLink:
</span><span class="cx">                 linkMatchType &amp;= ~SelectorChecker::MatchVisited;
</span><span class="cx">                 break;
</span></span></pre></div>
<a id="trunkSourceWebCorecssjitSelectorCompilercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (174534 => 174535)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp        2014-10-09 22:09:18 UTC (rev 174534)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp        2014-10-09 22:14:29 UTC (rev 174535)
</span><span class="lines">@@ -625,6 +625,11 @@
</span><span class="cx">             if (!selectorList)
</span><span class="cx">                 return FunctionType::CannotMatchAnything;
</span><span class="cx"> 
</span><ins>+#if ENABLE(CSS_SELECTORS_LEVEL4)
+            if (selectorList-&gt;first()-&gt;tagHistory() || CSSSelectorList::next(selectorList-&gt;first()))
+                return FunctionType::CannotCompile;
+#endif
+
</ins><span class="cx">             SelectorFragmentList notFragments;
</span><span class="cx">             FunctionType functionType = constructFragments(selectorList-&gt;first(), selectorContext, notFragments, FragmentsLevel::InFunctionalPseudoType, positionInRootFragments);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>