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

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

function parseThenSerializeRule(rule)
{
    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);
    
    styleElement.appendChild(document.createTextNode(rule));
    return styleElement.sheet.cssRules[0].cssText;
}

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) {
        var arg = args[i];
        var hasQuotes = arg.indexOf('"') == 0 && arg.lastIndexOf('"') == arg.length - 1;
        if (!hasQuotes)
            expected += '"';
        expected += args[i];
        if (!hasQuotes)
            expected += '"';
        if (i < args.length - 1)
            expected += ', ';
    }
    expected += ')';
    return expected;
}

function testSelectorRoundTrip(selector)
{
    var expected = selector.indexOf(":lang") == 0 ? expectedSerializedLangSelector(selector) : selector;
    shouldBe("parseThenSerializeRule('" + selector + " { }')", "'" + expected + " { }'");
}

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('');

shouldBe("parseThenSerializeRule('*|a { }')", "'a { }'");
shouldBe("parseThenSerializeRule('*|* { }')", "'* { }'");
testSelectorRoundTrip('|a');
testSelectorRoundTrip('|*');
testSelectorRoundTrip('[*|a]');
shouldBe("parseThenSerializeRule('[|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(':lang("*-ab")');
testSelectorRoundTrip(':lang("*-ab-")');
testSelectorRoundTrip(':lang("*-DE-1996")');

debug('');

testSelectorRoundTrip(":lang(a)");
testSelectorRoundTrip(":lang(a, b, c)");
testSelectorRoundTrip(":lang(fr, de, en, id)");
testSelectorRoundTrip(":lang(fr, fr-ca, fr-be)");
testSelectorRoundTrip(":lang(de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, de-Latn-DE-1996)");
testSelectorRoundTrip(":lang(de-CH, it-CH, fr-CH, rm-CH)");
testSelectorRoundTrip(":lang(de-DE, de-DE-1996, de-Latn-DE, de-Latf-DE, de-Latn-DE-1996, de-CH, it-CH, fr-CH, rm-CH)");

debug('');

testSelectorRoundTrip(":lang(a, a, a)");
testSelectorRoundTrip(":lang(en, en, en)");
testSelectorRoundTrip(":lang(en-us, en-us, en-us)");
testSelectorRoundTrip(":lang(de-DE-1996, de-DE-1996, de-DE-1996)");
testSelectorRoundTrip(":lang(de-Latn-DE-1996, de-Latn-DE-1996, de-Latn-DE-1996)");
testSelectorRoundTrip(":lang(java, java, java)");

debug('');

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

debug('');

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

debug('');

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

debug('');

testSelectorRoundTrip(":nth-child(odd)");
testSelectorRoundTrip(":nth-child(even)");
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('');

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

debug('');

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

debug('');

testSelectorRoundTrip(':matches(single)');
testSelectorRoundTrip(':matches(a, b, p)');
testSelectorRoundTrip(':matches(#alice, #bob, #chris)');
testSelectorRoundTrip(':matches(.selector, #tama, #hanayo, #midoriko)');
testSelectorRoundTrip(':matches(.name, #ok, :visited)');
testSelectorRoundTrip(':matches(.name, #ok, :visited, :link)');
testSelectorRoundTrip(':matches(.name, #ok, :matches(:visited))');
testSelectorRoundTrip(':matches(.name, #ok, :not(:link))');
testSelectorRoundTrip(':matches(.name, #ok, :not(:link))');
testSelectorRoundTrip(':matches(.name, #ok, :-webkit-any(hello))');
testSelectorRoundTrip(':matches(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko))');
testSelectorRoundTrip(':matches([type="file"])');
testSelectorRoundTrip(':matches(:hover)');
testSelectorRoundTrip('input:matches([type="file"], :hover, :focus):enabled');
testSelectorRoundTrip(':matches(input[type="file"], a:hover, button:focus)');
testSelectorRoundTrip(':matches(.class1.class2.class3)');
testSelectorRoundTrip(':matches(.class1:hover)');
testSelectorRoundTrip(':matches(a.class1.class2.class3:hover)');
testSelectorRoundTrip(':matches(::first-letter, ::first-line)');
testSelectorRoundTrip(':matches(a > ::first-letter, b ~ ::first-line, c ::after, d + ::before)');
testSelectorRoundTrip(':matches(.ok a > ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before)');
testSelectorRoundTrip(':matches(.ok a > .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before)');
testSelectorRoundTrip(':-webkit-any(:matches(single))');
testSelectorRoundTrip(':-webkit-any(:matches(a, b, p))');
testSelectorRoundTrip(':-webkit-any(:matches(#alice, #bob, #chris))');
testSelectorRoundTrip(':-webkit-any(:matches(.selector, #tama, #hanayo, #midoriko))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :visited))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :visited, :link))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :matches(:visited)))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :not(:link)))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :not(:link)))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :-webkit-any(hello)))');
testSelectorRoundTrip(':-webkit-any(:matches(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)))');
testSelectorRoundTrip(':-webkit-any(:matches([type="file"]))');
testSelectorRoundTrip(':-webkit-any(:matches(:hover))');
testSelectorRoundTrip(':-webkit-any(input:matches([type="file"], :hover, :focus):enabled)');
testSelectorRoundTrip(':-webkit-any(:matches(input[type="file"], a:hover, button:focus))');
testSelectorRoundTrip(':-webkit-any(:matches(.class1.class2.class3))');
testSelectorRoundTrip(':-webkit-any(:matches(.class1:hover))');
testSelectorRoundTrip(':-webkit-any(:matches(a.class1.class2.class3:hover))');
testSelectorRoundTrip(':-webkit-any(:matches(::first-letter, ::first-line))');
testSelectorRoundTrip(':-webkit-any(:matches(a > ::first-letter, b ~ ::first-line, c ::after, d + ::before))');
testSelectorRoundTrip(':-webkit-any(:matches(.ok a > ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before))');
testSelectorRoundTrip(':-webkit-any(:matches(.ok a > .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before))');

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(: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 > [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('');

shouldBe("parseThenSerializeRule('::-webkit-file-upload-button { }')", "'::-webkit-file-upload-button { }'");
shouldBe("parseThenSerializeRule('::-webkit-search-cancel-button { }')", "'::-webkit-search-cancel-button { }'");
shouldBe("parseThenSerializeRule('::-webkit-search-decoration { }')", "'::-webkit-search-decoration { }'");
shouldBe("parseThenSerializeRule('::-webkit-search-results-button { }')", "'::-webkit-search-results-button { }'");
shouldBe("parseThenSerializeRule('::-webkit-search-results-decoration { }')", "'::-webkit-search-results-decoration { }'");
shouldBe("parseThenSerializeRule('::-webkit-slider-thumb { }')", "'::-webkit-slider-thumb { }'");

debug('');

testSelectorRoundTrip("a::-webkit-slider-thumb");
shouldBe("parseThenSerializeRule('a ::-webkit-slider-thumb { }')", "'a ::-webkit-slider-thumb { }'");
testSelectorRoundTrip("[a]::-webkit-slider-thumb");
shouldBe("parseThenSerializeRule('[a] ::-webkit-slider-thumb { }')", "'[a] ::-webkit-slider-thumb { }'");
testSelectorRoundTrip(".a::-webkit-slider-thumb");
shouldBe("parseThenSerializeRule('.a ::-webkit-slider-thumb { }')", "'.a ::-webkit-slider-thumb { }'");
testSelectorRoundTrip("#a::-webkit-slider-thumb");
shouldBe("parseThenSerializeRule('#a ::-webkit-slider-thumb { }')", "'#a ::-webkit-slider-thumb { }'");
shouldBe("parseThenSerializeRule('* ::-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");
testSelectorRoundTrip("a[b]::-webkit-input-placeholder");
testSelectorRoundTrip("a.b::-webkit-input-placeholder");
testSelectorRoundTrip("a#b::-webkit-input-placeholder");
testSelectorRoundTrip("a[b].c#d::-webkit-input-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)');
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('');

shouldBe("parseThenSerializeRule('*:active { }')", "':active { }'");

debug('');

shouldBe("parseThenSerializeRule('input[type=file]:focus { }')", "'input[type=\"file\"]:focus { }'");

debug('');

shouldBe("parseThenSerializeRule('a+b { }')", "'a + b { }'");
shouldBe("parseThenSerializeRule('a~b { }')", "'a ~ b { }'");
shouldBe("parseThenSerializeRule('a>b { }')", "'a > b { }'");

debug('');

shouldBe("parseThenSerializeRule(':after { }')", "'::after { }'");
shouldBe("parseThenSerializeRule(':before { }')", "'::before { }'");
shouldBe("parseThenSerializeRule(':first-letter { }')", "'::first-letter { }'");
shouldBe("parseThenSerializeRule(':first-line { }')", "'::first-line { }'");
shouldBe("parseThenSerializeRule(':-webkit-any(    a.class1  ,  	#id,[attr]  ) { }')","':-webkit-any(a.class1, #id, [attr]) { }'");

debug('');

shouldBe("parseThenSerializeRule(':matches(single    ) { }')", "':matches(single) { }'");
shouldBe("parseThenSerializeRule(':matches(a,b    ,p) { }')", "':matches(a, b, p) { }'");
shouldBe("parseThenSerializeRule(':matches(#alice,                   #bob,#chris) { }')", "':matches(#alice, #bob, #chris) { }'");
shouldBe("parseThenSerializeRule(':matches(  .selector,#tama,                #hanayo,#midoriko) { }')", "':matches(.selector, #tama, #hanayo, #midoriko) { }'");
shouldBe("parseThenSerializeRule(':matches(    .name,#ok,:visited   ) { }')", "':matches(.name, #ok, :visited) { }'");
shouldBe("parseThenSerializeRule(':matches(    .name,#ok,    :visited, :link) { }')", "':matches(.name, #ok, :visited, :link) { }'");
shouldBe("parseThenSerializeRule(':matches(    .name,#ok,    :matches(:visited    )) { }')", "':matches(.name, #ok, :matches(:visited)) { }'");
shouldBe("parseThenSerializeRule(':matches(.name,  #ok,:not(:link)) { }')", "':matches(.name, #ok, :not(:link)) { }'");
shouldBe("parseThenSerializeRule(':matches(.name,#ok,:not(:link)) { }')", "':matches(.name, #ok, :not(:link)) { }'");
shouldBe("parseThenSerializeRule(':matches(    .name,#ok,:-webkit-any(   hello)) { }')", "':matches(.name, #ok, :-webkit-any(hello)) { }'");
shouldBe("parseThenSerializeRule(':matches(    .name,#ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)) { }')", "':matches(.name, #ok, :-webkit-any(.selector, #tama, #hanayo, #midoriko)) { }'");
shouldBe("parseThenSerializeRule(':matches(       [type=\"file\"]) { }')", "':matches([type=\"file\"]) { }'");
shouldBe("parseThenSerializeRule(':matches(  :hover    ) { }')", "':matches(:hover) { }'");
shouldBe("parseThenSerializeRule('input:matches([type=\"file\"],:hover,:focus):enabled { }')", "'input:matches([type=\"file\"], :hover, :focus):enabled { }'");
shouldBe("parseThenSerializeRule(':matches(input[type=\"file\"], a:hover, button:focus) { }')", "':matches(input[type=\"file\"], a:hover, button:focus) { }'");
shouldBe("parseThenSerializeRule(':matches( .class1.class2.class3   ) { }')", "':matches(.class1.class2.class3) { }'");
shouldBe("parseThenSerializeRule(':matches(.class1:hover   ) { }')", "':matches(.class1:hover) { }'");
shouldBe("parseThenSerializeRule(':matches(a.class1.class2.class3:hover   ) { }')", "':matches(a.class1.class2.class3:hover) { }'");
shouldBe("parseThenSerializeRule(':matches(:first-letter,::first-line) { }')", "':matches(::first-letter, ::first-line) { }'");
shouldBe("parseThenSerializeRule(':matches(a>:first-letter,b   ~ ::first-line, c :after, d+ :before) { }')", "':matches(a > ::first-letter, b ~ ::first-line, c ::after, d + ::before) { }'");
shouldBe("parseThenSerializeRule(':matches(.ok a >    ::first-letter, .ok b~ ::first-line, .ok c :after, .ok d +:before) { }')", "':matches(.ok a > ::first-letter, .ok b ~ ::first-line, .ok c ::after, .ok d + ::before) { }'");
shouldBe("parseThenSerializeRule(':matches(.ok a> .ok ::first-letter, .ok b   ~.ok :first-line, .ok c .ok    ::after, .ok d + .ok ::before) { }')", "':matches(.ok a > .ok ::first-letter, .ok b ~ .ok ::first-line, .ok c .ok ::after, .ok d + .ok ::before) { }'");

debug('');

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

debug('');

shouldBe("parseThenSerializeRule(':lang(a    ) { }')", "':lang(\"a\") { }'");
shouldBe("parseThenSerializeRule(':lang(    a) { }')", "':lang(\"a\") { }'");
shouldBe("parseThenSerializeRule(':lang(a,    b,    c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(    a, b ,c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(  a  ,  b  ,  c  ) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(    a  ,b,c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(    a  ,b  ,c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(    a  ,b  ,c  ) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(a,b    ,c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(a,b,    c) { }')", "':lang(\"a\", \"b\", \"c\") { }'");
shouldBe("parseThenSerializeRule(':lang(a,b,    c    ) { }')", "':lang(\"a\", \"b\", \"c\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(en, en, en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(en,en,en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(en,en,    en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(en,    en,en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(en,    en,en    ) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(    en,    en,en    ) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(en,   en,   en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(    en,    en,    en) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(    en,    en,    en    ) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(    en    ,    en    ,   en    ) { }')", "':lang(\"en\", \"en\", \"en\") { }'");
shouldBe("parseThenSerializeRule(':lang(    en,en,en    ) { }')", "':lang(\"en\", \"en\", \"en\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-DE\",\"*-CH\",\"*-EN\") { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");
shouldBe("parseThenSerializeRule(':lang(   \"*-DE\"  ,  \"*-CH\"  ,  \"*-EN\"  ) { }')", "':lang(\"*-DE\", \"*-CH\", \"*-EN\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(\\\\*) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*\") { }')", "':lang(\"*-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*-\\\\*\") { }')", "':lang(\"*-*-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-\\\\*-\\\\*-\\\\*\") { }')", "':lang(\"*-*-*-*\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(ab-\\\\*) { }')", "':lang(\"ab-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-ab-\\\\*\") { }')", "':lang(\"*-ab-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-ab-\\\\*-\") { }')", "':lang(\"*-ab-*-\") { }'");

shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\3A\") { }')", "':lang(\"*-foo-:\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\3A\\\\`\\\\)\") { }')", "':lang(\"*-foo-:`)\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\*\") { }')", "':lang(\"*-foo-*\") { }'");

shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\0072 aisin\") { }')", "':lang(\"*-foo-raisin\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-foo-\\\\0062 \\\\0061 r\") { }')", "':lang(\"*-foo-bar\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-foo-col\\\\6Fr\") { }')", "':lang(\"*-foo-color\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(\\\\*    ) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en\"    ) { }')", "':lang(\"*-en\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*\"    ) { }')", "':lang(\"*-en-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\"    ) { }')", "':lang(\"*-en-*-fr\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",   br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(  \"*-en-\\\\*-fr\",   br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(    \"*-en-\\\\*-fr\",   br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(    \"*-en-\\\\*-fr\"  ,   br    ) { }')", "':lang(\"*-en-*-fr\", \"br\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",\"*-br-zh\"    ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", \"*-br-zh\"    ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",   \"*-br-zh\"    ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",     \"*-br-zh\"    ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",       \"*-br-zh\"    ) { }')", "':lang(\"*-en-*-fr\", \"*-br-zh\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\", br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",   br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(\"*-en-\\\\*-fr\",      br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(  \"*-en-\\\\*-fr\",      br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(  \"*-en-\\\\*-fr\" ,      br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");
shouldBe("parseThenSerializeRule(':lang(  \"*-en-\\\\*-fr\"  ,      br-\\\\*-zh    ) { }')", "':lang(\"*-en-*-fr\", \"br-*-zh\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(\\\\*) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\\\\* ) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(\\\\*   ) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang( \\\\*   ) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(  \\\\*) { }')", "':lang(\"*\") { }'");
shouldBe("parseThenSerializeRule(':lang(   \\\\*   ) { }')", "':lang(\"*\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(   \\\\*,id-\\\\*-sumatra   ) { }')", "':lang(\"*\", \"id-*-sumatra\") { }'");
shouldBe("parseThenSerializeRule(':lang(   \\\\* ,id-\\\\*-sumatra) { }')", "':lang(\"*\", \"id-*-sumatra\") { }'");
shouldBe("parseThenSerializeRule(':lang(   \\\\*  ,  id-\\\\*-sumatra  ) { }')", "':lang(\"*\", \"id-*-sumatra\") { }'");
shouldBe("parseThenSerializeRule(':lang(   \\\\*   ,    id-\\\\*-sumatra  ) { }')", "':lang(\"*\", \"id-*-sumatra\") { }'");

debug('');

shouldBe("parseThenSerializeRule(':lang(en-\\\\*) { }')", "':lang(\"en-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(en-\\\\*, fr-\\\\*) { }')", "':lang(\"en-*\", \"fr-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(en-\\\\*, fr-\\\\* ) { }')", "':lang(\"en-*\", \"fr-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(   en-\\\\*   ,  fr-\\\\*   ) { }')", "':lang(\"en-*\", \"fr-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(   en-\\\\*   ,fr-\\\\*   ) { }')", "':lang(\"en-*\", \"fr-*\") { }'");
shouldBe("parseThenSerializeRule(':lang(   en-\\\\*,fr-\\\\*   ) { }')", "':lang(\"en-*\", \"fr-*\") { }'");

debug('');

shouldThrow("parseThenSerializeRule(':lang() { }')");
shouldThrow("parseThenSerializeRule(':lang(12, b, c) { }')");
shouldThrow("parseThenSerializeRule(':lang(a, 12, c) { }')");
shouldThrow("parseThenSerializeRule(':lang(a, b, 12) { }')");
shouldThrow("parseThenSerializeRule(':lang(a, 12, 12) { }')");
shouldThrow("parseThenSerializeRule(':lang(12, b, 12) { }')");
shouldThrow("parseThenSerializeRule(':lang(12, 12, 12) { }')");
shouldThrow("parseThenSerializeRule(':lang(lang()) { }')");
shouldThrow("parseThenSerializeRule(':lang(:lang()) { }')");
shouldThrow("parseThenSerializeRule(':lang(:lang(id)) { }')");
shouldThrow("parseThenSerializeRule(':lang(:lang(en, br)) { }')");
shouldThrow("parseThenSerializeRule(':lang(<0_0>) { }')");
shouldThrow("parseThenSerializeRule(':lang(99) { }')");
shouldThrow("parseThenSerializeRule(':lang(88) { }')");
shouldThrow("parseThenSerializeRule(':lang(00) { }')");
shouldThrow("parseThenSerializeRule(':lang(}) { }')");
shouldThrow("parseThenSerializeRule(':lang({) { }')");
shouldThrow("parseThenSerializeRule(':lang({}) { }')");
shouldThrow("parseThenSerializeRule(':lang(]) { }')");
shouldThrow("parseThenSerializeRule(':lang([) { }')");
shouldThrow("parseThenSerializeRule(':lang([]) { }')");
shouldThrow("parseThenSerializeRule(':lang(@media screen {}) { }')");

shouldThrow("parseThenSerializeRule(':lang(*-) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-    ) { }')");
shouldThrow("parseThenSerializeRule(':lang(*--) { }')");
shouldThrow("parseThenSerializeRule(':lang(*---) { }')");
shouldThrow("parseThenSerializeRule(':lang(*----) { }')");

shouldThrow("parseThenSerializeRule(':lang(*)' { })");
shouldThrow("parseThenSerializeRule(':lang(**) { }')");
shouldThrow("parseThenSerializeRule(':lang(-*-) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-*) { }')");
shouldThrow("parseThenSerializeRule(':lang(de-*)')");
shouldThrow("parseThenSerializeRule(':lang(*-en-*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-en-fr-*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-en-*fr) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-*en-fr) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-1997) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-1997-*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*a*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*a) { }')");
shouldThrow("parseThenSerializeRule(':lang(a*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, a*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, a**) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, *a) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, **a) { }')");
shouldThrow("parseThenSerializeRule(':lang(*- a*) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, br fr) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-a, br fr en *) { }')");

shouldThrow("parseThenSerializeRule(':lang(*-1996, *-1997) { }')");
shouldThrow("parseThenSerializeRule(':lang(*-1996, *-1997 ) { }')");
shouldThrow("parseThenSerializeRule(':lang(   *-1996   ,  *-1997   ) { }')");
shouldThrow("parseThenSerializeRule(':lang(   *-1996   ,*-1997   ) { }')");
shouldThrow("parseThenSerializeRule(':lang(   *-1996,*-1997   ) { }')");

debug('');

testSelectorRoundTrip(":role(a)");
testSelectorRoundTrip(":role(button)");
testSelectorRoundTrip(":role(LiNk)");
shouldBe("parseThenSerializeRule(':role( a    ) { }')", "':role(a) { }'");

debug('');

shouldThrow("parseThenSerializeRule(':role() { }')");
shouldThrow("parseThenSerializeRule(':role(42) { }')");
shouldThrow("parseThenSerializeRule(':role(a, b) { }')");
shouldThrow("parseThenSerializeRule(':role(}) { }')");
shouldThrow("parseThenSerializeRule(':role()) { }')");
shouldThrow("parseThenSerializeRule(':role(role()) { }')");
shouldThrow("parseThenSerializeRule(':role(:role()) { }')");
shouldThrow("parseThenSerializeRule(':role(:role(a)) { }')");

debug('');

testSelectorRoundTrip(":dir(ltr)");
testSelectorRoundTrip(":dir(rtl)");
testSelectorRoundTrip(":dir(LTR)");
testSelectorRoundTrip(":dir(aBcD)");
shouldBe("parseThenSerializeRule(':dir( a    ) { }')", "':dir(a) { }'");

debug('');

shouldThrow("parseThenSerializeRule(':dir() { }')");
shouldThrow("parseThenSerializeRule(':dir(42) { }')");
shouldThrow("parseThenSerializeRule(':dir(a, b) { }')");
shouldThrow("parseThenSerializeRule(':dir(}) { }')");
shouldThrow("parseThenSerializeRule(':dir()) { }')");
shouldThrow("parseThenSerializeRule(':dir(dir()) { }')");
shouldThrow("parseThenSerializeRule(':dir(:dir()) { }')");
shouldThrow("parseThenSerializeRule(':dir(:dir(ltr)) { }')");

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