This tests that setting window event listeners on the body, sets them on the window.

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


PASS window.onblur is func
PASS window.onblur is document.body.onblur
PASS window.onfocus is func
PASS window.onfocus is document.body.onfocus
PASS window.onerror is func
PASS window.onerror is document.body.onerror
PASS window.onload is func
PASS window.onload is document.body.onload
PASS window.onbeforeunload is func
PASS window.onbeforeunload is document.body.onbeforeunload
PASS window.onhashchange is func
PASS window.onhashchange is document.body.onhashchange
PASS window.onmessage is func
PASS window.onmessage is document.body.onmessage
PASS window.onoffline is func
PASS window.onoffline is document.body.onoffline
PASS window.ononline is func
PASS window.ononline is document.body.ononline
PASS window.onresize is func
PASS window.onresize is document.body.onresize
PASS window.onstorage is func
PASS window.onstorage is document.body.onstorage
PASS window.onunload is func
PASS window.onunload is document.body.onunload
PASS successfullyParsed is true

TEST COMPLETE

