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(':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

