This tests setting and re-serialization of some CSS selectors.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS setThenReadSelectorText('') is '_foo'
PASS setThenReadSelectorText('123') is '_foo'
PASS setThenReadSelectorText('-') is '_foo'
PASS setThenReadSelectorText('$') is '_foo'
PASS setThenReadSelectorText(':') is '_foo'
PASS setThenReadSelectorText('.') is '_foo'
PASS setThenReadSelectorText('#') is '_foo'
PASS setThenReadSelectorText('[]') is '_foo'
PASS setThenReadSelectorText('()') is '_foo'
PASS setThenReadSelectorText('*') is '*'
PASS setThenReadSelectorText('a') is 'a'
PASS setThenReadSelectorText('#a') is '#a'
PASS setThenReadSelectorText('.a') is '.a'
PASS setThenReadSelectorText(':active') is ':active'
PASS setThenReadSelectorText('[a]') is '[a]'
PASS setThenReadSelectorText('[a="b"]') is '[a="b"]'
PASS setThenReadSelectorText('[a~="b"]') is '[a~="b"]'
PASS setThenReadSelectorText('[a|="b"]') is '[a|="b"]'
PASS setThenReadSelectorText('[a^="b"]') is '[a^="b"]'
PASS setThenReadSelectorText('[a$="b"]') is '[a$="b"]'
PASS setThenReadSelectorText('[a*="b"]') is '[a*="b"]'
PASS setThenReadSelectorText('*|a') is 'a'
PASS setThenReadSelectorText('n|a') is 'n|a'
PASS setThenReadSelectorText('*|*') is '*'
PASS setThenReadSelectorText('n|*') is 'n|*'
PASS setThenReadSelectorText('[*|a]') is '[*|a]'
PASS setThenReadSelectorText('[n|a]') is '[n|a]'
PASS setThenReadSelectorText('unresolved|a') is '_foo'
PASS setThenReadSelectorText('unresolved|*') is '_foo'
PASS setThenReadSelectorText('[unresolved|a]') is '_foo'
PASS setThenReadSelectorText('a:active') is 'a:active'
PASS setThenReadSelectorText('a b') is 'a b'
PASS setThenReadSelectorText('a + b') is 'a + b'
PASS setThenReadSelectorText('a ~ b') is 'a ~ b'
PASS setThenReadSelectorText('a > b') is 'a > b'
PASS setThenReadSelectorText(':active') is ':active'
PASS setThenReadSelectorText(':autofill') is ':autofill'
PASS setThenReadSelectorText(':checked') is ':checked'
PASS setThenReadSelectorText(':disabled') is ':disabled'
PASS setThenReadSelectorText(':empty') is ':empty'
PASS setThenReadSelectorText(':enabled') is ':enabled'
PASS setThenReadSelectorText(':first-child') is ':first-child'
PASS setThenReadSelectorText(':first-of-type') is ':first-of-type'
PASS setThenReadSelectorText(':focus') is ':focus'
PASS setThenReadSelectorText(':focus-within') is ':focus-within'
PASS setThenReadSelectorText(':hover') is ':hover'
PASS setThenReadSelectorText(':indeterminate') is ':indeterminate'
PASS setThenReadSelectorText(':link') is ':link'
PASS setThenReadSelectorText(':not(:placeholder-shown)') is ':not(:placeholder-shown)'
PASS setThenReadSelectorText(':placeholder-shown') is ':placeholder-shown'
PASS setThenReadSelectorText(':root') is ':root'
PASS setThenReadSelectorText(':target') is ':target'
PASS setThenReadSelectorText(':visited') is ':visited'
PASS setThenReadSelectorText(':lang(a)') is ':lang(a)'
PASS setThenReadSelectorText(':not(a)') is ':not(a)'
PASS setThenReadSelectorText(':-webkit-any(a, b, p)') is ':-webkit-any(a, b, p)'
PASS setThenReadSelectorText('::after') is '::after'
PASS setThenReadSelectorText('::before') is '::before'
PASS setThenReadSelectorText('::first-letter') is '::first-letter'
PASS setThenReadSelectorText('::first-line') is '::first-line'
PASS setThenReadSelectorText('::selection') is '::selection'
PASS setThenReadSelectorText(':-webkit-any-link') is ':-webkit-any-link'
PASS setThenReadSelectorText(':-webkit-autofill') is ':-webkit-autofill'
PASS setThenReadSelectorText(':-webkit-drag') is ':-webkit-drag'
PASS setThenReadSelectorText('::-webkit-file-upload-button') is '::-webkit-file-upload-button'
PASS setThenReadSelectorText('::-webkit-search-cancel-button') is '::-webkit-search-cancel-button'
PASS setThenReadSelectorText('::-webkit-search-decoration') is '::-webkit-search-decoration'
PASS setThenReadSelectorText('::-webkit-search-results-button') is '::-webkit-search-results-button'
PASS setThenReadSelectorText('::-webkit-search-results-decoration') is '::-webkit-search-results-decoration'
PASS setThenReadSelectorText('::-webkit-slider-thumb') is '::-webkit-slider-thumb'
PASS setThenReadSelectorText('a::-webkit-slider-thumb') is 'a::-webkit-slider-thumb'
PASS setThenReadSelectorText('a ::-webkit-slider-thumb') is 'a ::-webkit-slider-thumb'
PASS setThenReadSelectorText('[a]::-webkit-slider-thumb') is '[a]::-webkit-slider-thumb'
PASS setThenReadSelectorText('[a] ::-webkit-slider-thumb') is '[a] ::-webkit-slider-thumb'
PASS setThenReadSelectorText('.a::-webkit-slider-thumb') is '.a::-webkit-slider-thumb'
PASS setThenReadSelectorText('.a ::-webkit-slider-thumb') is '.a ::-webkit-slider-thumb'
PASS setThenReadSelectorText('#a::-webkit-slider-thumb') is '#a::-webkit-slider-thumb'
PASS setThenReadSelectorText('#a ::-webkit-slider-thumb') is '#a ::-webkit-slider-thumb'
PASS setThenReadSelectorText('* ::-webkit-slider-thumb') is '* ::-webkit-slider-thumb'
PASS setThenReadSelectorText('a[b]::-webkit-slider-thumb') is 'a[b]::-webkit-slider-thumb'
PASS setThenReadSelectorText('a.b::-webkit-slider-thumb') is 'a.b::-webkit-slider-thumb'
PASS setThenReadSelectorText('a#b::-webkit-slider-thumb') is 'a#b::-webkit-slider-thumb'
PASS setThenReadSelectorText('a[b].c#d::-webkit-slider-thumb') is 'a[b].c#d::-webkit-slider-thumb'
PASS setThenReadSelectorText('input:not([type="file"]):focus') is 'input:not([type="file"]):focus'
PASS setThenReadSelectorText('input:not([type="file"]):focus-within') is 'input:not([type="file"]):focus-within'
PASS setThenReadSelectorText(':-webkit-any([type="file"])') is ':-webkit-any([type="file"])'
PASS setThenReadSelectorText(':-webkit-any(:hover)') is ':-webkit-any(:hover)'
PASS setThenReadSelectorText('input:-webkit-any([type="file"], :hover, :focus):enabled') is 'input:-webkit-any([type="file"], :hover, :focus):enabled'
PASS setThenReadSelectorText(':-webkit-any(input[type="file"], a:hover, button:focus)') is ':-webkit-any(input[type="file"], a:hover, button:focus)'
PASS setThenReadSelectorText(':-webkit-any(.class1.class2.class3)') is ':-webkit-any(.class1.class2.class3)'
PASS setThenReadSelectorText(':-webkit-any(.class1:hover)') is ':-webkit-any(.class1:hover)'
PASS setThenReadSelectorText(':-webkit-any(a.class1.class2.class3:hover)') is ':-webkit-any(a.class1.class2.class3:hover)'
PASS setThenReadSelectorText('*:active') is ':active'
PASS setThenReadSelectorText('|a') is '|a'
PASS setThenReadSelectorText('input[type=file]:focus') is 'input[type="file"]:focus'
PASS setThenReadSelectorText('input[type=file]:focus-within') is 'input[type="file"]:focus-within'
PASS setThenReadSelectorText('a+b') is 'a + b'
PASS setThenReadSelectorText('a~b') is 'a ~ b'
PASS setThenReadSelectorText('a>b') is 'a > b'
PASS setThenReadSelectorText(':after') is '::after'
PASS setThenReadSelectorText(':before') is '::before'
PASS setThenReadSelectorText(':first-letter') is '::first-letter'
PASS setThenReadSelectorText(':first-line') is '::first-line'
PASS setThenReadSelectorText(':-webkit-any( a.class1 , #id,[attr] )') is ':-webkit-any(a.class1, #id, [attr])'
PASS successfullyParsed is true
TEST COMPLETE