This tests parsing and re-serialization of some CSS selectors.

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


PASS parseThenSerializeRule('* { }') is '* { }'
PASS parseThenSerializeRule('a { }') is 'a { }'
PASS parseThenSerializeRule('#a { }') is '#a { }'
PASS parseThenSerializeRule('.a { }') is '.a { }'
PASS parseThenSerializeRule(':active { }') is ':active { }'
PASS parseThenSerializeRule('[a] { }') is '[a] { }'
PASS parseThenSerializeRule('[a="b"] { }') is '[a="b"] { }'
PASS parseThenSerializeRule('[a~="b"] { }') is '[a~="b"] { }'
PASS parseThenSerializeRule('[a|="b"] { }') is '[a|="b"] { }'
PASS parseThenSerializeRule('[a^="b"] { }') is '[a^="b"] { }'
PASS parseThenSerializeRule('[a$="b"] { }') is '[a$="b"] { }'
PASS parseThenSerializeRule('[a*="b"] { }') is '[a*="b"] { }'

PASS parseThenSerializeRule('*|a { }') is 'a { }'
PASS parseThenSerializeRule('n|a { }') is 'n|a { }'
PASS parseThenSerializeRule('*|* { }') is '* { }'
PASS parseThenSerializeRule('n|* { }') is 'n|* { }'
PASS parseThenSerializeRule('[*|a] { }') is '[*|a] { }'
PASS parseThenSerializeRule('[n|a] { }') is '[n|a] { }'

PASS parseThenSerializeRule('a:active { }') is 'a:active { }'
PASS parseThenSerializeRule('a b { }') is 'a b { }'
PASS parseThenSerializeRule('a + b { }') is 'a + b { }'
PASS parseThenSerializeRule('a ~ b { }') is 'a ~ b { }'
PASS parseThenSerializeRule('a > b { }') is 'a > b { }'

PASS parseThenSerializeRule(':active { }') is ':active { }'
PASS parseThenSerializeRule(':checked { }') is ':checked { }'
PASS parseThenSerializeRule(':disabled { }') is ':disabled { }'
PASS parseThenSerializeRule(':empty { }') is ':empty { }'
PASS parseThenSerializeRule(':enabled { }') is ':enabled { }'
PASS parseThenSerializeRule(':first-child { }') is ':first-child { }'
PASS parseThenSerializeRule(':first-of-type { }') is ':first-of-type { }'
PASS parseThenSerializeRule(':focus { }') is ':focus { }'
PASS parseThenSerializeRule(':hover { }') is ':hover { }'
PASS parseThenSerializeRule(':indeterminate { }') is ':indeterminate { }'
PASS parseThenSerializeRule(':link { }') is ':link { }'
PASS parseThenSerializeRule(':not(:placeholder-shown) { }') is ':not(:placeholder-shown) { }'
PASS parseThenSerializeRule(':placeholder-shown { }') is ':placeholder-shown { }'
PASS parseThenSerializeRule(':root { }') is ':root { }'
PASS parseThenSerializeRule(':target { }') is ':target { }'
PASS parseThenSerializeRule(':visited { }') is ':visited { }'

PASS parseThenSerializeRule(':lang(a) { }') is ':lang(a) { }'
PASS parseThenSerializeRule(':not(a) { }') is ':not(a) { }'
PASS parseThenSerializeRule(':-webkit-any(a,b,p) { }') is ':-webkit-any(a,b,p) { }'

PASS parseThenSerializeRule('::after { }') is '::after { }'
PASS parseThenSerializeRule('::before { }') is '::before { }'
PASS parseThenSerializeRule('::first-letter { }') is '::first-letter { }'
PASS parseThenSerializeRule('::first-line { }') is '::first-line { }'
PASS parseThenSerializeRule('::selection { }') is '::selection { }'

PASS parseThenSerializeRule(':-webkit-any-link { }') is ':-webkit-any-link { }'
PASS parseThenSerializeRule(':-webkit-autofill { }') is ':-webkit-autofill { }'
PASS parseThenSerializeRule(':-webkit-drag { }') is ':-webkit-drag { }'

PASS parseThenSerializeRule('::-webkit-file-upload-button { }') is '::-webkit-file-upload-button { }'
PASS parseThenSerializeRule('::-webkit-search-cancel-button { }') is '::-webkit-search-cancel-button { }'
PASS parseThenSerializeRule('::-webkit-search-decoration { }') is '::-webkit-search-decoration { }'
PASS parseThenSerializeRule('::-webkit-search-results-button { }') is '::-webkit-search-results-button { }'
PASS parseThenSerializeRule('::-webkit-search-results-decoration { }') is '::-webkit-search-results-decoration { }'
PASS parseThenSerializeRule('::-webkit-slider-thumb { }') is '::-webkit-slider-thumb { }'

PASS parseThenSerializeRule('a::-webkit-slider-thumb { }') is 'a::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('a ::-webkit-slider-thumb { }') is 'a ::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('[a]::-webkit-slider-thumb { }') is '[a]::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('[a] ::-webkit-slider-thumb { }') is '[a] ::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('.a::-webkit-slider-thumb { }') is '.a::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('.a ::-webkit-slider-thumb { }') is '.a ::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('#a::-webkit-slider-thumb { }') is '#a::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('#a ::-webkit-slider-thumb { }') is '#a ::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('* ::-webkit-slider-thumb { }') is '* ::-webkit-slider-thumb { }'

PASS parseThenSerializeRule('a[b]::-webkit-slider-thumb { }') is 'a[b]::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('a.b::-webkit-slider-thumb { }') is 'a.b::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('a#b::-webkit-slider-thumb { }') is 'a#b::-webkit-slider-thumb { }'
PASS parseThenSerializeRule('a[b].c#d::-webkit-slider-thumb { }') is 'a[b].c#d::-webkit-slider-thumb { }'

PASS parseThenSerializeRule('input:not([type="file"]):focus { }') is 'input:not([type="file"]):focus { }'
PASS parseThenSerializeRule(':-webkit-any([type="file"]) { }') is ':-webkit-any([type="file"]) { }'
PASS parseThenSerializeRule(':-webkit-any(:hover) { }') is ':-webkit-any(:hover) { }'
PASS parseThenSerializeRule('input:-webkit-any([type="file"],:hover,:focus):enabled { }') is 'input:-webkit-any([type="file"],:hover,:focus):enabled { }'
PASS parseThenSerializeRule(':-webkit-any(input[type="file"],a:hover,button:focus) { }') is ':-webkit-any(input[type="file"],a:hover,button:focus) { }'
PASS parseThenSerializeRule(':-webkit-any(.class1.class2.class3) { }') is ':-webkit-any(.class1.class2.class3) { }'
PASS parseThenSerializeRule(':-webkit-any(.class1:hover) { }') is ':-webkit-any(.class1:hover) { }'
PASS parseThenSerializeRule(':-webkit-any(a.class1.class2.class3:hover) { }') is ':-webkit-any(a.class1.class2.class3:hover) { }'

PASS parseThenSerializeRule('*:active { }') is ':active { }'
PASS parseThenSerializeRule('|a { }') is '|a { }'

PASS parseThenSerializeRule('input[type=file]:focus { }') is 'input[type="file"]:focus { }'

PASS parseThenSerializeRule('a+b { }') is 'a + b { }'
PASS parseThenSerializeRule('a~b { }') is 'a ~ b { }'
PASS parseThenSerializeRule('a>b { }') is 'a > b { }'

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

PASS successfullyParsed is true

TEST COMPLETE

