This tests that querySelector, querySelectorAll and matchesSelector (webkitMatchesSelector) work with elements that are not in a document yet.

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


PASS root.querySelector('div') is correctNode
PASS root.querySelector('#testId') is correctNode
PASS root.querySelectorAll('div').length is 1
PASS root.querySelectorAll('div').item(0) is correctNode
PASS root.querySelectorAll('#testId').length is 1
PASS root.querySelectorAll('#testId').item(0) is correctNode
PASS noChild.querySelector('div') is null
PASS noChild.querySelectorAll('div').length is 0
PASS correctNode.webkitMatchesSelector('div') is true
PASS correctNode.webkitMatchesSelector('#testId') is true
PASS successfullyParsed is true

TEST COMPLETE

