This tests empty strings do not return a value in collections or named items cases.

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


PASS document.querySelectorAll('div')[''] === undefined is true
PASS document.getElementsByTagName('div')[''] === undefined is true
PASS document.body.children[''] === undefined is true
PASS document.all[''] === undefined is true
PASS container.querySelectorAll('div')[''] === undefined is true
PASS container.getElementsByTagName('div')[''] === undefined is true
PASS container.children[''] === undefined is true

