<html>
<head id="head">
<script src="../../resources/js-test.js"></script>
</head>
<body>
<script>

description("This tests setting and re-serialization of some CSS selectors.");

var bogusSelector = "_foo";

function setThenReadSelectorText(selector)
{
    var styleElement = document.getElementById("style");
    var head = document.getElementById("head");
    if (styleElement)
        head.removeChild(styleElement);

    styleElement = document.createElement("style");
    styleElement.id = "style";
    var head = document.getElementById("head");
    head.appendChild(styleElement);

    // First, create a rule with a bogus selector.
    styleElement.appendChild(document.createTextNode(bogusSelector + " { }"));
    // Now, set the desired selector text.
    styleElement.sheet.cssRules[0].selectorText = selector;
    return styleElement.sheet.cssRules[0].selectorText;
}

function expectedSerializedLangSelector(selector)
{
    var args = /:lang\(([^)]+)/.exec(selector);
    if (!args || !args[1])
        return selector;

    args = args[1].split(/\s*,\s*/);
    var expected = ':lang(';
    for (var i = 0; i < args.length; ++i) {
        expected += args[i];
        if (i < args.length - 1)
            expected += ', ';
    }
    expected += ')';
    return expected;
}

function testSelectorSerialization(selector, expectedSelector)
{
    shouldBeEqualToString("setThenReadSelectorText('" + selector + "')", expectedSelector);
}

function testSelectorRoundTrip(selector, expectFailure)
{
    var expected = selector.indexOf(":lang") == 0 ? expectedSerializedLangSelector(selector) : selector;
    shouldBeEqualToString("setThenReadSelectorText('" + selector + "')", expectFailure ? bogusSelector : expected);
}

testSelectorRoundTrip('', true);
testSelectorRoundTrip('123', true);
testSelectorRoundTrip('-', true);
testSelectorRoundTrip('$', true);
testSelectorRoundTrip(':', true);
testSelectorRoundTrip('.', true);
testSelectorRoundTrip('#', true);
testSelectorRoundTrip('[]', true);
testSelectorRoundTrip('()', true);

debug('');

testSelectorRoundTrip('*');
testSelectorRoundTrip('a');
testSelectorRoundTrip('#a');
testSelectorRoundTrip('.a');
testSelectorRoundTrip(':active');
testSelectorRoundTrip('[a]');
testSelectorRoundTrip('[a="b"]');
testSelectorRoundTrip('[a~="b"]');
testSelectorRoundTrip('[a|="b"]');
testSelectorRoundTrip('[a^="b"]');
testSelectorRoundTrip('[a$="b"]');
testSelectorRoundTrip('[a*="b"]');
testSelectorRoundTrip('[a="b" i]');
testSelectorRoundTrip('[a~="b" i]');
testSelectorRoundTrip('[a|="b" i]');
testSelectorRoundTrip('[a^="b" i]');
testSelectorRoundTrip('[a$="b" i]');
testSelectorRoundTrip('[a*="b" i]');

debug('');

shouldBeEqualToString("setThenReadSelectorText('*|a')", "a");
shouldBeEqualToString("setThenReadSelectorText('*|*')", "*");
testSelectorRoundTrip('[*|a]');
testSelectorRoundTrip('|*');
testSelectorRoundTrip('[*|a]');
shouldBeEqualToString("setThenReadSelectorText('[|a]')", "[a]");

debug('');

testSelectorRoundTrip('a:active');
testSelectorRoundTrip('a b');
testSelectorRoundTrip('a + b');
testSelectorRoundTrip('a ~ b');
testSelectorRoundTrip('a > b');

debug('');

testSelectorRoundTrip(":active");
testSelectorRoundTrip(":any-link");
testSelectorRoundTrip(":checked");
testSelectorRoundTrip(":disabled");
testSelectorRoundTrip(":empty");
testSelectorRoundTrip(":enabled");
testSelectorRoundTrip(":first-child");
testSelectorRoundTrip(":first-of-type");
testSelectorRoundTrip(":focus");
testSelectorRoundTrip(":hover");
testSelectorRoundTrip(":indeterminate");
testSelectorRoundTrip(":link");
testSelectorRoundTrip(":not(:placeholder-shown)");
testSelectorRoundTrip(":placeholder-shown");
testSelectorRoundTrip(":root");
testSelectorRoundTrip(":target");
testSelectorRoundTrip(":visited");

debug('');

testSelectorRoundTrip(":dir(a)");
testSelectorRoundTrip(':lang("a")');
testSelectorRoundTrip(":lang(a)");
testSelectorRoundTrip(":not(a)");
testSelectorRoundTrip(":-webkit-any(a, b, p)");

debug('');

testSelectorRoundTrip("::after");
testSelectorRoundTrip("::before");
testSelectorRoundTrip("::first-letter");
testSelectorRoundTrip("::first-line");
testSelectorRoundTrip("::selection");

debug('');

testSelectorSerialization(":-webkit-any-link", ":any-link");
testSelectorRoundTrip(":-webkit-drag");
testSelectorRoundTrip(":autofill");
testSelectorSerialization(":-webkit-autofill", ":autofill");

testSelectorRoundTrip('a:any-link');
testSelectorRoundTrip('a :any-link');
testSelectorRoundTrip('div:any-link');
testSelectorRoundTrip('div :any-link');
testSelectorRoundTrip(':any-link > div');
testSelectorRoundTrip(':any-link + div');
testSelectorRoundTrip(':not(:any-link)');

debug('');

testSelectorSerialization(":nth-child(odd)", ":nth-child(2n+1)");
testSelectorSerialization(":nth-child(even)", ":nth-child(2n)");
testSelectorRoundTrip(":nth-child(n)");
testSelectorRoundTrip(":nth-child(-n)");
testSelectorRoundTrip(":nth-child(5)");
testSelectorRoundTrip(":nth-child(-5)");
testSelectorRoundTrip(":nth-child(5n+7)");
testSelectorRoundTrip(":nth-child(-5n+7)");
testSelectorRoundTrip(":nth-child(5n-7)");
testSelectorRoundTrip(":nth-child(-5n-7)");

debug('');

testSelectorSerialization(":nth-child(odd of .foo, :nth-child(odd))", ":nth-child(2n+1 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(even of .foo, :nth-child(odd))", ":nth-child(2n of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(n of .foo, :nth-child(odd))", ":nth-child(n of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(-n of .foo, :nth-child(odd))", ":nth-child(-n of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(5 of .foo, :nth-child(odd))", ":nth-child(5 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(-5 of .foo, :nth-child(odd))", ":nth-child(-5 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(5n+7 of .foo, :nth-child(odd))", ":nth-child(5n+7 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(-5n+7 of .foo, :nth-child(odd))", ":nth-child(-5n+7 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(5n-7 of .foo, :nth-child(odd))", ":nth-child(5n-7 of .foo, :nth-child(2n+1))");
testSelectorSerialization(":nth-child(-5n-7 of .foo, :nth-child(odd))", ":nth-child(-5n-7 of .foo, :nth-child(2n+1))");

debug('');

testSelectorSerialization(":nth-last-child(odd of .foo, :nth-last-child(odd))", ":nth-last-child(2n+1 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(even of .foo, :nth-last-child(odd))", ":nth-last-child(2n of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(n of .foo, :nth-last-child(odd))", ":nth-last-child(n of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(-n of .foo, :nth-last-child(odd))", ":nth-last-child(-n of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(5 of .foo, :nth-last-child(odd))", ":nth-last-child(5 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(-5 of .foo, :nth-last-child(odd))", ":nth-last-child(-5 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(5n+7 of .foo, :nth-last-child(odd))", ":nth-last-child(5n+7 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(-5n+7 of .foo, :nth-last-child(odd))", ":nth-last-child(-5n+7 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(5n-7 of .foo, :nth-last-child(odd))", ":nth-last-child(5n-7 of .foo, :nth-last-child(2n+1))");
testSelectorSerialization(":nth-last-child(-5n-7 of .foo, :nth-last-child(odd))", ":nth-last-child(-5n-7 of .foo, :nth-last-child(2n+1))");

debug('');

testSelectorRoundTrip(':is(single)');
testSelectorRoundTrip(':is(a, b, p)');
testSelectorRoundTrip(':is(#alice, #bob, #chris)');
testSelectorRoundTrip(':is(.selector, #tama, #hanayo, #midoriko)');
testSelectorRoundTrip(':is(.name, #ok, :visited)');
testSelectorRoundTrip(':is(.name, #ok, :visited, :link)');
testSelectorRoundTrip(':is(.name, #ok, :is(:visited))');
testSelectorRoundTrip(':is(.name, #ok, :not(:link))');
testSelectorRoundTrip(':is(.name, #ok, :not(:link))');
testSelectorRoundTrip(':is(.name, #ok, :-webkit-any(hello))');
testSelectorRoundTrip(':is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))');
testSelectorRoundTrip(':is([type="file"])');
testSelectorRoundTrip(':is(:hover)');
testSelectorRoundTrip('input:is([type="file"], :hover, :focus):enabled');
testSelectorRoundTrip(':is(input[type="file"], a:hover, button:focus)');
testSelectorRoundTrip(':is(.class1.class2.class3)');
testSelectorRoundTrip(':is(.class1:hover)');
testSelectorRoundTrip(':is(a.class1.class2.class3:hover)');
testSelectorRoundTrip(':where(single)');
testSelectorRoundTrip(':where(a, b, p)');
testSelectorRoundTrip(':where(#alice, #bob, #chris)');
testSelectorRoundTrip(':where(.selector, #tama, #hanayo, #midoriko)');
testSelectorRoundTrip(':where(.name, #ok, :visited)');
testSelectorRoundTrip(':where(.name, #ok, :visited, :link)');
testSelectorRoundTrip(':where(.name, #ok, :where(:visited))');
testSelectorRoundTrip(':where(.name, #ok, :not(:link))');
testSelectorRoundTrip(':where(.name, #ok, :not(:link))');
testSelectorRoundTrip(':where(.name, #ok, :where(hello))');
testSelectorRoundTrip(':where(.name, #ok, :where(.selector, #tama, #hanayo, #midoriko))');
testSelectorRoundTrip(':where([type="file"])');
testSelectorRoundTrip(':where(:hover)');
testSelectorRoundTrip('input:where([type="file"], :hover, :focus):enabled');
testSelectorRoundTrip(':where(input[type="file"], a:hover, button:focus)');
testSelectorRoundTrip(':where(.class1.class2.class3)');
testSelectorRoundTrip(':where(.class1:hover)');
testSelectorRoundTrip(':where(a.class1.class2.class3:hover)');
testSelectorSerialization(':matches(:is(single))', ':is(:is(single))');
testSelectorSerialization(':matches(:is(a, b, p))', ':is(:is(a, b, p))');
testSelectorSerialization(':matches(:is(#alice, #bob, #chris))', ':is(:is(#alice, #bob, #chris))');
testSelectorSerialization(':matches(:is(.selector, #tama, #hanayo, #midoriko))', ':is(:is(.selector, #tama, #hanayo, #midoriko))');
testSelectorSerialization(':matches(:is(.name, #ok, :visited))', ':is(:is(.name, #ok, :visited))');
testSelectorSerialization(':matches(:is(.name, #ok, :visited, :link))', ':is(:is(.name, #ok, :visited, :link))');
testSelectorSerialization(':matches(:is(.name, #ok, :is(:visited)))', ':is(:is(.name, #ok, :is(:visited)))');
testSelectorSerialization(':matches(:is(.name, #ok, :not(:link)))', ':is(:is(.name, #ok, :not(:link)))');
testSelectorSerialization(':matches(:is(.name, #ok, :not(:link)))', ':is(:is(.name, #ok, :not(:link)))');
testSelectorSerialization(':matches(:is(.name, #ok, :matches(hello)))', ':is(:is(.name, #ok, :is(hello)))');
testSelectorSerialization(':matches(:is(.name, #ok, :matches(.selector, #tama, #hanayo, #midoriko)))', ':is(:is(.name, #ok, :is(.selector, #tama, #hanayo, #midoriko)))');
testSelectorSerialization(':matches(:is([type="file"]))', ':is(:is([type="file"]))');
testSelectorSerialization(':matches(:is(:hover))', ':is(:is(:hover))');
testSelectorSerialization(':matches(input:is([type="file"], :hover, :focus):enabled)', ':is(input:is([type="file"], :hover, :focus):enabled)');
testSelectorSerialization(':matches(:is(input[type="file"], a:hover, button:focus))', ':is(:is(input[type="file"], a:hover, button:focus))');
testSelectorSerialization(':matches(:is(.class1.class2.class3))', ':is(:is(.class1.class2.class3))');
testSelectorSerialization(':matches(:is(.class1:hover))', ':is(:is(.class1:hover))');
testSelectorSerialization(':matches(:is(a.class1.class2.class3:hover))', ':is(:is(a.class1.class2.class3:hover))');
testSelectorRoundTrip(':-webkit-any(:is(single))');
testSelectorRoundTrip(':-webkit-any(:is(a, b, p))');
testSelectorRoundTrip(':-webkit-any(:is(#alice, #bob, #chris))');
testSelectorRoundTrip(':-webkit-any(:is(.selector, #tama, #hanayo, #midoriko))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :visited))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :visited, :link))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :is(:visited)))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :not(:link)))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :not(:link)))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :-webkit-any(hello)))');
testSelectorRoundTrip(':-webkit-any(:is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)))');
testSelectorRoundTrip(':-webkit-any(:is([type="file"]))');
testSelectorRoundTrip(':-webkit-any(:is(:hover))');
testSelectorRoundTrip(':-webkit-any(input:is([type="file"], :hover, :focus):enabled)');
testSelectorRoundTrip(':-webkit-any(:is(input[type="file"], a:hover, button:focus))');
testSelectorRoundTrip(':-webkit-any(:is(.class1.class2.class3))');
testSelectorRoundTrip(':-webkit-any(:is(.class1:hover))');
testSelectorRoundTrip(':-webkit-any(:is(a.class1.class2.class3:hover))');

debug('');

testSelectorSerialization(':matches(single)', ':is(single)')
testSelectorSerialization(':matches(a, b, p)', ':is(a, b, p)')
testSelectorSerialization(':matches(#alice, #bob, #chris)', ':is(#alice, #bob, #chris)')
testSelectorSerialization(':matches(.selector, #tama, #hanayo, #midoriko)', ':is(.selector, #tama, #hanayo, #midoriko)')
testSelectorSerialization(':matches(.name, #ok, :visited)', ':is(.name, #ok, :visited)')
testSelectorSerialization(':matches(.name, #ok, :visited, :link)', ':is(.name, #ok, :visited, :link)')
testSelectorSerialization(':matches(.name, #ok, :matches(:visited))', ':is(.name, #ok, :is(:visited))')
testSelectorSerialization(':matches(.name, #ok, :not(:link))', ':is(.name, #ok, :not(:link))')
testSelectorSerialization(':matches(.name, #ok, :not(:link))', ':is(.name, #ok, :not(:link))')
testSelectorSerialization(':matches(.name, #ok, :-webkit-any(hello))', ':is(.name, #ok, :-webkit-any(hello))')
testSelectorSerialization(':matches(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))', ':is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))')
testSelectorSerialization(':matches([type="file"])', ':is([type="file"])')
testSelectorSerialization(':matches(:hover)', ':is(:hover)')
testSelectorSerialization('input:matches([type="file"], :hover, :focus):enabled', 'input:is([type="file"], :hover, :focus):enabled')
testSelectorSerialization(':matches(input[type="file"], a:hover, button:focus)', ':is(input[type="file"], a:hover, button:focus)')
testSelectorSerialization(':matches(.class1.class2.class3)', ':is(.class1.class2.class3)')
testSelectorSerialization(':matches(.class1:hover)', ':is(.class1:hover)')
testSelectorSerialization(':matches(a.class1.class2.class3:hover)', ':is(a.class1.class2.class3:hover)')
testSelectorSerialization(':is(:matches(single))', ':is(:is(single))')
testSelectorSerialization(':is(:matches(a, b, p))', ':is(:is(a, b, p))')
testSelectorSerialization(':is(:matches(#alice, #bob, #chris))', ':is(:is(#alice, #bob, #chris))')
testSelectorSerialization(':is(:matches(.selector, #tama, #hanayo, #midoriko))', ':is(:is(.selector, #tama, #hanayo, #midoriko))')
testSelectorSerialization(':is(:matches(.name, #ok, :visited))', ':is(:is(.name, #ok, :visited))')
testSelectorSerialization(':is(:matches(.name, #ok, :visited, :link))', ':is(:is(.name, #ok, :visited, :link))')
testSelectorSerialization(':is(:matches(.name, #ok, :matches(:visited)))', ':is(:is(.name, #ok, :is(:visited)))')
testSelectorSerialization(':is(:matches(.name, #ok, :not(:link)))', ':is(:is(.name, #ok, :not(:link)))')
testSelectorSerialization(':is(:matches(.name, #ok, :not(:link)))', ':is(:is(.name, #ok, :not(:link)))')
testSelectorSerialization(':is(:matches(.name, #ok, :is(hello)))', ':is(:is(.name, #ok, :is(hello)))')
testSelectorSerialization(':is(:matches(.name, #ok, :is(.selector, #tama, #hanayo, #midoriko)))', ':is(:is(.name, #ok, :is(.selector, #tama, #hanayo, #midoriko)))')
testSelectorSerialization(':is(:matches([type="file"]))', ':is(:is([type="file"]))')
testSelectorSerialization(':is(:matches(:hover))', ':is(:is(:hover))')
testSelectorSerialization(':is(input:matches([type="file"], :hover, :focus):enabled)', ':is(input:is([type="file"], :hover, :focus):enabled)')
testSelectorSerialization(':is(:matches(input[type="file"], a:hover, button:focus))', ':is(:is(input[type="file"], a:hover, button:focus))')
testSelectorSerialization(':is(:matches(.class1.class2.class3))', ':is(:is(.class1.class2.class3))')
testSelectorSerialization(':is(:matches(.class1:hover))', ':is(:is(.class1:hover))')
testSelectorSerialization(':is(:matches(a.class1.class2.class3:hover))', ':is(:is(a.class1.class2.class3:hover))')
testSelectorSerialization(':-webkit-any(:matches(single))', ':-webkit-any(:is(single))')
testSelectorSerialization(':-webkit-any(:matches(a, b, p))', ':-webkit-any(:is(a, b, p))')
testSelectorSerialization(':-webkit-any(:matches(#alice, #bob, #chris))', ':-webkit-any(:is(#alice, #bob, #chris))')
testSelectorSerialization(':-webkit-any(:matches(.selector, #tama, #hanayo, #midoriko))', ':-webkit-any(:is(.selector, #tama, #hanayo, #midoriko))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :visited))', ':-webkit-any(:is(.name, #ok, :visited))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :visited, :link))', ':-webkit-any(:is(.name, #ok, :visited, :link))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :matches(:visited)))', ':-webkit-any(:is(.name, #ok, :is(:visited)))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :not(:link)))', ':-webkit-any(:is(.name, #ok, :not(:link)))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :not(:link)))', ':-webkit-any(:is(.name, #ok, :not(:link)))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :-webkit-any(hello)))', ':-webkit-any(:is(.name, #ok, :-webkit-any(hello)))')
testSelectorSerialization(':-webkit-any(:matches(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)))', ':-webkit-any(:is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)))')
testSelectorSerialization(':-webkit-any(:matches([type="file"]))', ':-webkit-any(:is([type="file"]))')
testSelectorSerialization(':-webkit-any(:matches(:hover))', ':-webkit-any(:is(:hover))')
testSelectorSerialization(':-webkit-any(input:matches([type="file"], :hover, :focus):enabled)', ':-webkit-any(input:is([type="file"], :hover, :focus):enabled)')
testSelectorSerialization(':-webkit-any(:matches(input[type="file"], a:hover, button:focus))', ':-webkit-any(:is(input[type="file"], a:hover, button:focus))')
testSelectorSerialization(':-webkit-any(:matches(.class1.class2.class3))', ':-webkit-any(:is(.class1.class2.class3))')
testSelectorSerialization(':-webkit-any(:matches(.class1:hover))', ':-webkit-any(:is(.class1:hover))')
testSelectorSerialization(':-webkit-any(:matches(a.class1.class2.class3:hover))', ':-webkit-any(:is(a.class1.class2.class3:hover))')

debug('');

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(:is(*))');
testSelectorRoundTrip(':not(:is(foo, bar))');
testSelectorRoundTrip(':not(:is(foo, bar), :is(.foo, .bar), :is(#foo, #bar), :is([foo], [bar]))');
testSelectorRoundTrip(':not(:is(foo, bar:not(:empty)), :is(.foo, .bar:not(:not(.mosaic))), :is(#foo, #bar), :is([foo], [bar]))');

testSelectorSerialization(':not(:matches(*))', ':not(:is(*))')
testSelectorSerialization(':not(:matches(foo, bar))', ':not(:is(foo, bar))')
testSelectorSerialization(':not(:matches(foo, bar), :matches(.foo, .bar), :matches(#foo, #bar), :matches([foo], [bar]))', ':not(:is(foo, bar), :is(.foo, .bar), :is(#foo, #bar), :is([foo], [bar]))')
testSelectorSerialization(':not(:matches(foo, bar:not(:empty)), :matches(.foo, .bar:not(:not(.mosaic))), :matches(#foo, #bar), :matches([foo], [bar]))', ':not(:is(foo, bar:not(:empty)), :is(.foo, .bar:not(:not(.mosaic))), :is(#foo, #bar), :is([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 > [d], e + f:empty, .g ~ #h:first-child)');
testSelectorRoundTrip('a:not(a .b, #c > [d], e + f:empty, .g ~ #h:first-child) b + c:not(a .b, #c > [d], e + f:empty, .g ~ #h:first-child) ~ d:not(a .b, #c > [d], e + f:empty, .g ~ #h:first-child) > d:not(a .b, #c > [d], e + f:empty, .g ~ #h:first-child)');

debug('');

shouldBeEqualToString("setThenReadSelectorText('::-webkit-file-upload-button')", "::file-selector-button");
shouldBeEqualToString("setThenReadSelectorText('::-webkit-search-cancel-button')", "::-webkit-search-cancel-button");
shouldBeEqualToString("setThenReadSelectorText('::-webkit-search-decoration')", "::-webkit-search-decoration");
shouldBeEqualToString("setThenReadSelectorText('::-webkit-search-results-button')", "::-webkit-search-results-button");
shouldBeEqualToString("setThenReadSelectorText('::-webkit-search-results-decoration')", "::-webkit-search-results-decoration");
shouldBeEqualToString("setThenReadSelectorText('::-webkit-slider-thumb')", "::-webkit-slider-thumb");

debug('');

testSelectorRoundTrip("a::-webkit-slider-thumb");
shouldBeEqualToString("setThenReadSelectorText('a ::-webkit-slider-thumb')", "a ::-webkit-slider-thumb");
testSelectorRoundTrip("[a]::-webkit-slider-thumb");
shouldBeEqualToString("setThenReadSelectorText('[a] ::-webkit-slider-thumb')", "[a] ::-webkit-slider-thumb");
testSelectorRoundTrip(".a::-webkit-slider-thumb");
shouldBeEqualToString("setThenReadSelectorText('.a ::-webkit-slider-thumb')", ".a ::-webkit-slider-thumb");
testSelectorRoundTrip("#a::-webkit-slider-thumb");
shouldBeEqualToString("setThenReadSelectorText('#a ::-webkit-slider-thumb')", "#a ::-webkit-slider-thumb");
shouldBeEqualToString("setThenReadSelectorText('* ::-webkit-slider-thumb')", "* ::-webkit-slider-thumb");

debug('');

testSelectorRoundTrip("a[b]::-webkit-slider-thumb");
testSelectorRoundTrip("a.b::-webkit-slider-thumb");
testSelectorRoundTrip("a#b::-webkit-slider-thumb");
testSelectorRoundTrip("a[b].c#d::-webkit-slider-thumb");

debug('');

testSelectorRoundTrip("a[b]::placeholder");
testSelectorRoundTrip("a.b::placeholder");
testSelectorRoundTrip("a#b::placeholder");
testSelectorRoundTrip("a[b].c#d::placeholder");
testSelectorSerialization("a[b]::-webkit-input-placeholder", "a[b]::placeholder")
testSelectorSerialization("a.b::-webkit-input-placeholder", "a.b::placeholder")
testSelectorSerialization("a#b::-webkit-input-placeholder", "a#b::placeholder")
testSelectorSerialization("a[b].c#d::-webkit-input-placeholder", "a[b].c#d::placeholder")

debug('');

testSelectorRoundTrip("a[b]:default");
testSelectorRoundTrip("a.b:default");
testSelectorRoundTrip("a#b:default");
testSelectorRoundTrip("a[b].c#d:default");

debug('');

testSelectorRoundTrip("a[b]:in-range");
testSelectorRoundTrip("a.b:in-range");
testSelectorRoundTrip("a#b:in-range");
testSelectorRoundTrip("a[b].c#d:in-range");

debug('');

testSelectorRoundTrip("a[b]:out-of-range");
testSelectorRoundTrip("a.b:out-of-range");
testSelectorRoundTrip("a#b:out-of-range");
testSelectorRoundTrip("a[b].c#d:out-of-range");

debug('');

testSelectorRoundTrip("a[b]:focus-within");
testSelectorRoundTrip("a.b:focus-within");
testSelectorRoundTrip("a#b:focus-within");
testSelectorRoundTrip("a[b].c#d:focus-within");

debug('');

testSelectorRoundTrip('input:not([type="file"]):focus');
testSelectorRoundTrip(':-webkit-any([type="file"])');
testSelectorRoundTrip(':-webkit-any(:hover)');
testSelectorRoundTrip('input:-webkit-any([type="file"], :hover, :focus):enabled');
testSelectorRoundTrip(':-webkit-any(input[type="file"], a:hover, button:focus)');
testSelectorRoundTrip(':-webkit-any(.class1.class2.class3)');
testSelectorRoundTrip(':-webkit-any(.class1:hover)');
testSelectorRoundTrip(':-webkit-any(a.class1.class2.class3:hover)');

debug('');

shouldBeEqualToString("setThenReadSelectorText('*:active')", ":active");

debug('');

shouldBeEqualToString("setThenReadSelectorText('input[type=file]:focus')", 'input[type="file"]:focus');

debug('');

shouldBeEqualToString("setThenReadSelectorText('a+b')", "a + b");
shouldBeEqualToString("setThenReadSelectorText('a~b')", "a ~ b");
shouldBeEqualToString("setThenReadSelectorText('a>b')", "a > b");

debug('');

shouldBeEqualToString("setThenReadSelectorText(':after')", "::after");
shouldBeEqualToString("setThenReadSelectorText(':before')", "::before");
shouldBeEqualToString("setThenReadSelectorText(':first-letter')", "::first-letter");
shouldBeEqualToString("setThenReadSelectorText(':first-line')", "::first-line");
shouldBeEqualToString("setThenReadSelectorText(':-webkit-any(    a.class1  ,  	#id,[attr]  )')", ":-webkit-any(a.class1, #id, [attr])");

debug('');

shouldBeEqualToString("setThenReadSelectorText(':is(single    )')", ":is(single)");
shouldBeEqualToString("setThenReadSelectorText(':is(a,b    ,p)')", ":is(a, b, p)");
shouldBeEqualToString("setThenReadSelectorText(':is(#alice,                   #bob,#chris)')", ":is(#alice, #bob, #chris)");
shouldBeEqualToString("setThenReadSelectorText(':is(  .selector,#tama,                #hanayo,#midoriko)')", ":is(.selector, #tama, #hanayo, #midoriko)");
shouldBeEqualToString("setThenReadSelectorText(':is(    .name,#ok,:visited   )')", ":is(.name, #ok, :visited)");
shouldBeEqualToString("setThenReadSelectorText(':is(    .name,#ok,    :visited, :link)')", ":is(.name, #ok, :visited, :link)");
shouldBeEqualToString("setThenReadSelectorText(':is(    .name,#ok,    :is(:visited    ))')", ":is(.name, #ok, :is(:visited))");
shouldBeEqualToString("setThenReadSelectorText(':is(.name,  #ok,:not(:link))')", ":is(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':is(.name,#ok,:not(:link))')", ":is(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':is(    .name,#ok,:-webkit-any(   hello))')", ":is(.name, #ok, :-webkit-any(hello))");
shouldBeEqualToString("setThenReadSelectorText(':is(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))')", ":is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))");
shouldBeEqualToString("setThenReadSelectorText(':is(       [type=\"file\"])')", ':is([type="file"])');
shouldBeEqualToString("setThenReadSelectorText(':is(  :hover    )')", ":is(:hover)");
shouldBeEqualToString("setThenReadSelectorText('input:is([type=\"file\"],:hover,:focus):enabled')", 'input:is([type="file"], :hover, :focus):enabled');
shouldBeEqualToString("setThenReadSelectorText(':is(input[type=\"file\"], a:hover, button:focus)')", ':is(input[type="file"], a:hover, button:focus)');
shouldBeEqualToString("setThenReadSelectorText(':is( .class1.class2.class3   )')", ":is(.class1.class2.class3)");
shouldBeEqualToString("setThenReadSelectorText(':is(.class1:hover   )')", ":is(.class1:hover)");
shouldBeEqualToString("setThenReadSelectorText(':is(a.class1.class2.class3:hover   )')", ":is(a.class1.class2.class3:hover)");

debug('');

shouldBeEqualToString("setThenReadSelectorText(':matches(single    )')", ":is(single)");
shouldBeEqualToString("setThenReadSelectorText(':matches(a,b    ,p)')", ":is(a, b, p)");
shouldBeEqualToString("setThenReadSelectorText(':matches(#alice,                   #bob,#chris)')", ":is(#alice, #bob, #chris)");
shouldBeEqualToString("setThenReadSelectorText(':matches(  .selector,#tama,                #hanayo,#midoriko)')", ":is(.selector, #tama, #hanayo, #midoriko)");
shouldBeEqualToString("setThenReadSelectorText(':matches(    .name,#ok,:visited   )')", ":is(.name, #ok, :visited)");
shouldBeEqualToString("setThenReadSelectorText(':matches(    .name,#ok,    :visited, :link)')", ":is(.name, #ok, :visited, :link)");
shouldBeEqualToString("setThenReadSelectorText(':matches(    .name,#ok,    :matches(:visited    ))')", ":is(.name, #ok, :is(:visited))");
shouldBeEqualToString("setThenReadSelectorText(':matches(.name,  #ok,:not(:link))')", ":is(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':matches(.name,#ok,:not(:link))')", ":is(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':matches(    .name,#ok,:-webkit-any(   hello))')", ":is(.name, #ok, :-webkit-any(hello))");
shouldBeEqualToString("setThenReadSelectorText(':matches(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))')", ":is(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))");
shouldBeEqualToString("setThenReadSelectorText(':matches(       [type=\"file\"])')", ':is([type="file"])');
shouldBeEqualToString("setThenReadSelectorText(':matches(  :hover    )')", ":is(:hover)");
shouldBeEqualToString("setThenReadSelectorText('input:matches([type=\"file\"],:hover,:focus):enabled')", 'input:is([type="file"], :hover, :focus):enabled');
shouldBeEqualToString("setThenReadSelectorText(':matches(input[type=\"file\"], a:hover, button:focus)')", ':is(input[type="file"], a:hover, button:focus)');
shouldBeEqualToString("setThenReadSelectorText(':matches( .class1.class2.class3   )')", ":is(.class1.class2.class3)");
shouldBeEqualToString("setThenReadSelectorText(':matches(.class1:hover   )')", ":is(.class1:hover)");
shouldBeEqualToString("setThenReadSelectorText(':matches(a.class1.class2.class3:hover   )')", ":is(a.class1.class2.class3:hover)");

debug('');

shouldBeEqualToString("setThenReadSelectorText(':not(single    )')", ":not(single)");
shouldBeEqualToString("setThenReadSelectorText(':not(a,b    ,p)')", ":not(a, b, p)");
shouldBeEqualToString("setThenReadSelectorText(':not(#alice,                   #bob,#chris)')", ":not(#alice, #bob, #chris)");
shouldBeEqualToString("setThenReadSelectorText(':not(  .selector,#tama,                #hanayo,#midoriko)')", ":not(.selector, #tama, #hanayo, #midoriko)");
shouldBeEqualToString("setThenReadSelectorText(':not(    .name,#ok,:visited   )')", ":not(.name, #ok, :visited)");
shouldBeEqualToString("setThenReadSelectorText(':not(    .name,#ok,    :visited, :link)')", ":not(.name, #ok, :visited, :link)");
shouldBeEqualToString("setThenReadSelectorText(':not(    .name,#ok,    :not(:visited    ))')", ":not(.name, #ok, :not(:visited))");
shouldBeEqualToString("setThenReadSelectorText(':not(.name,  #ok,:not(:link))')", ":not(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':not(.name,#ok,:not(:link))')", ":not(.name, #ok, :not(:link))");
shouldBeEqualToString("setThenReadSelectorText(':not(    .name,#ok,:-webkit-any(   hello))')", ":not(.name, #ok, :-webkit-any(hello))");
shouldBeEqualToString("setThenReadSelectorText(':not(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))')", ":not(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))");
shouldBeEqualToString("setThenReadSelectorText(':not(       [type=\"file\"])')", ':not([type="file"])');
shouldBeEqualToString("setThenReadSelectorText(':not(  :hover    )')", ":not(:hover)");
shouldBeEqualToString("setThenReadSelectorText('input:not([type=\"file\"],:hover,:focus):enabled')", 'input:not([type="file"], :hover, :focus):enabled');
shouldBeEqualToString("setThenReadSelectorText(':not(input[type=\"file\"], a:hover, button:focus)')", ':not(input[type="file"], a:hover, button:focus)');
shouldBeEqualToString("setThenReadSelectorText(':not( .class1.class2.class3   )')", ":not(.class1.class2.class3)");
shouldBeEqualToString("setThenReadSelectorText(':not(.class1:hover   )')", ":not(.class1:hover)");
shouldBeEqualToString("setThenReadSelectorText(':not(a.class1.class2.class3:hover   )')", ":not(a.class1.class2.class3:hover)");
shouldBeEqualToString("setThenReadSelectorText(':not(:is(single    ),:is(a,b    ,p),:is(#alice,                   #bob,#chris))')", ":not(:is(single), :is(a, b, p), :is(#alice, #bob, #chris))");
shouldBeEqualToString("setThenReadSelectorText(':not(:matches(single    ),:matches(a,b    ,p),:matches(#alice,                   #bob,#chris))')", ":not(:is(single), :is(a, b, p), :is(#alice, #bob, #chris))");

debug('');

</script>
</body>
</html>
