This test checks select attribute of content element is valid.

null
PASS internals.isValidContentSelect(content) is true

PASS internals.isValidContentSelect(content) is true
ns|div
PASS internals.isValidContentSelect(content) is true
*|div
PASS internals.isValidContentSelect(content) is true
|div
PASS internals.isValidContentSelect(content) is true
div
PASS internals.isValidContentSelect(content) is true
ns|*
PASS internals.isValidContentSelect(content) is true
*|*
PASS internals.isValidContentSelect(content) is true
|*
PASS internals.isValidContentSelect(content) is true
*
PASS internals.isValidContentSelect(content) is true
.elem
PASS internals.isValidContentSelect(content) is true
p.elem
PASS internals.isValidContentSelect(content) is true
foo.elem
PASS internals.isValidContentSelect(content) is true
*.right
PASS internals.isValidContentSelect(content) is true
#elem
PASS internals.isValidContentSelect(content) is true
p#elem
PASS internals.isValidContentSelect(content) is true
foo#elem
PASS internals.isValidContentSelect(content) is true
*#something
PASS internals.isValidContentSelect(content) is true
div[title]
PASS internals.isValidContentSelect(content) is true
div[class="example"]
PASS internals.isValidContentSelect(content) is true
div[hello="Cleveland"][goodbye="Columbus"]
PASS internals.isValidContentSelect(content) is true
div[rel~="copyright"]
PASS internals.isValidContentSelect(content) is true
div[href="http://www.example.com/"]
PASS internals.isValidContentSelect(content) is true
div[hreflang|="en"]
PASS internals.isValidContentSelect(content) is true
div[character=romeo]
PASS internals.isValidContentSelect(content) is true
div:link
PASS internals.isValidContentSelect(content) is true
div:visited
PASS internals.isValidContentSelect(content) is true
div:target
PASS internals.isValidContentSelect(content) is true
div:enabled
PASS internals.isValidContentSelect(content) is true
div:checked
PASS internals.isValidContentSelect(content) is true
div:indeterminate
PASS internals.isValidContentSelect(content) is true
div:nth-child(1)
PASS internals.isValidContentSelect(content) is true
div:nth-last-child(1)
PASS internals.isValidContentSelect(content) is true
div:nth-of-type(1)
PASS internals.isValidContentSelect(content) is true
div:nth-last-of-type(1)
PASS internals.isValidContentSelect(content) is true
div:first-child
PASS internals.isValidContentSelect(content) is true
div:last-child
PASS internals.isValidContentSelect(content) is true
div:first-of-type
PASS internals.isValidContentSelect(content) is true
div:last-of-type
PASS internals.isValidContentSelect(content) is true
div:only-of-type
PASS internals.isValidContentSelect(content) is true
div:first-of-type:last-of-type
PASS internals.isValidContentSelect(content) is true
div.elem:visited
PASS internals.isValidContentSelect(content) is true
*:visited
PASS internals.isValidContentSelect(content) is true
div, div
PASS internals.isValidContentSelect(content) is true
div:first-of-type, div
PASS internals.isValidContentSelect(content) is true
div, div:first-of-type
PASS internals.isValidContentSelect(content) is true
div:first-of-type, div:last-of-type
PASS internals.isValidContentSelect(content) is true
 div,      div     
PASS internals.isValidContentSelect(content) is true
div div
PASS internals.isValidContentSelect(content) is false
div > div
PASS internals.isValidContentSelect(content) is false
div + div
PASS internals.isValidContentSelect(content) is false
div ~ div
PASS internals.isValidContentSelect(content) is false
div:not(div)
PASS internals.isValidContentSelect(content) is false
div:root
PASS internals.isValidContentSelect(content) is false
div:lang(en)
PASS internals.isValidContentSelect(content) is false
div::before
PASS internals.isValidContentSelect(content) is false
div::after
PASS internals.isValidContentSelect(content) is false
div::first-line
PASS internals.isValidContentSelect(content) is false
div::first-letter
PASS internals.isValidContentSelect(content) is false
div:active
PASS internals.isValidContentSelect(content) is false
div:hover
PASS internals.isValidContentSelect(content) is false
div:focus
PASS internals.isValidContentSelect(content) is false
div div:not(div)
PASS internals.isValidContentSelect(content) is false
div:not(div) div
PASS internals.isValidContentSelect(content) is false
div span div
PASS internals.isValidContentSelect(content) is false
div < div
PASS internals.isValidContentSelect(content) is false
div - dvi
PASS internals.isValidContentSelect(content) is false
< div
PASS internals.isValidContentSelect(content) is false
+div
PASS internals.isValidContentSelect(content) is false
~div
PASS internals.isValidContentSelect(content) is false
div:!
PASS internals.isValidContentSelect(content) is false
!:!
PASS internals.isValidContentSelect(content) is false
div::!
PASS internals.isValidContentSelect(content) is false
div::first_of_type
PASS internals.isValidContentSelect(content) is false
pe;ro
PASS internals.isValidContentSelect(content) is false
@screen
PASS internals.isValidContentSelect(content) is false
@import "style.css"
PASS internals.isValidContentSelect(content) is false
div :first-of-type
PASS internals.isValidContentSelect(content) is false
div::first-of-type
PASS internals.isValidContentSelect(content) is false
 div, ,div
PASS internals.isValidContentSelect(content) is false
div ''
PASS internals.isValidContentSelect(content) is false
PASS successfullyParsed is true

TEST COMPLETE

