Test the parsing of :nth-last-child(of) for querySelector and style on deeply nested pseudo elements.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Test invalid selectors:
PASS document.querySelector(":nth-last-child(even of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(even of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(odd of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-n of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n+0 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(n-0 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(0n of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n+5 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n+5 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(3n-5 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :is(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :matches(a, b, c::after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :is(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :matches(a, b, c:after))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(2n+1 of d, e, :is(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(2n+1 of d, e, :matches(f, g, ::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(2n+1 of d, e, :is(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(2n+1 of d, e, :matches(f, g, :before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :not(:is(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :not(:matches(a, b, c::after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :not(:is(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :not(:matches(a, b, c:after)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :is(a, b, :is(c, d, :is(e, f, :is(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :matches(a, b, :matches(c, d, :matches(e, f, :matches(g, h, i::after)))))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(odd of :nth-last-child(even of j::before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS document.querySelector(":nth-last-child(-3n-5 of :nth-last-child(odd of :nth-last-child(even of j:before)))") threw exception SyntaxError: The string did not match the expected pattern..
PASS document.getElementById('style-container').sheet.cssRules.length is 0
PASS successfullyParsed is true

TEST COMPLETE

