Test which event listeners are set up by event handler attributes (the ones with names like onclick). On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Event names we expect to be able to set on the window object PASS testScriptAttribute(window, "abort") is "window" PASS testScriptAttribute(window, "animationend") is "window" PASS testScriptAttribute(window, "animationiteration") is "window" PASS testScriptAttribute(window, "animationstart") is "window" PASS testScriptAttribute(window, "beforeunload") is "window" PASS testScriptAttribute(window, "blur") is "window" PASS testScriptAttribute(window, "canplay") is "window" PASS testScriptAttribute(window, "canplaythrough") is "window" PASS testScriptAttribute(window, "change") is "window" PASS testScriptAttribute(window, "click") is "window" PASS testScriptAttribute(window, "contextmenu") is "window" PASS testScriptAttribute(window, "dblclick") is "window" PASS testScriptAttribute(window, "drag") is "window" PASS testScriptAttribute(window, "dragend") is "window" PASS testScriptAttribute(window, "dragenter") is "window" PASS testScriptAttribute(window, "dragleave") is "window" PASS testScriptAttribute(window, "dragover") is "window" PASS testScriptAttribute(window, "dragstart") is "window" PASS testScriptAttribute(window, "drop") is "window" PASS testScriptAttribute(window, "durationchange") is "window" PASS testScriptAttribute(window, "emptied") is "window" PASS testScriptAttribute(window, "ended") is "window" PASS testScriptAttribute(window, "error") is "window" PASS testScriptAttribute(window, "focus") is "window" PASS testScriptAttribute(window, "hashchange") is "window" PASS testScriptAttribute(window, "input") is "window" PASS testScriptAttribute(window, "invalid") is "window" PASS testScriptAttribute(window, "keydown") is "window" PASS testScriptAttribute(window, "keypress") is "window" PASS testScriptAttribute(window, "keyup") is "window" PASS testScriptAttribute(window, "load") is "window" PASS testScriptAttribute(window, "loadeddata") is "window" PASS testScriptAttribute(window, "loadedmetadata") is "window" PASS testScriptAttribute(window, "loadstart") is "window" PASS testScriptAttribute(window, "message") is "window" PASS testScriptAttribute(window, "mousedown") is "window" PASS testScriptAttribute(window, "mouseenter") is "window" PASS testScriptAttribute(window, "mouseleave") is "window" PASS testScriptAttribute(window, "mousemove") is "window" PASS testScriptAttribute(window, "mouseout") is "window" PASS testScriptAttribute(window, "mouseover") is "window" PASS testScriptAttribute(window, "mouseup") is "window" PASS testScriptAttribute(window, "mousewheel") is "window" PASS testScriptAttribute(window, "offline") is "window" PASS testScriptAttribute(window, "online") is "window" PASS testScriptAttribute(window, "pagehide") is "window" PASS testScriptAttribute(window, "pageshow") is "window" PASS testScriptAttribute(window, "pause") is "window" PASS testScriptAttribute(window, "play") is "window" PASS testScriptAttribute(window, "playing") is "window" PASS testScriptAttribute(window, "popstate") is "window" PASS testScriptAttribute(window, "progress") is "window" PASS testScriptAttribute(window, "ratechange") is "window" PASS testScriptAttribute(window, "reset") is "window" PASS testScriptAttribute(window, "resize") is "window" PASS testScriptAttribute(window, "scroll") is "window" PASS testScriptAttribute(window, "search") is "window" PASS testScriptAttribute(window, "seeked") is "window" PASS testScriptAttribute(window, "seeking") is "window" PASS testScriptAttribute(window, "select") is "window" PASS testScriptAttribute(window, "selectionchange") is "window" PASS testScriptAttribute(window, "selectstart") is "window" PASS testScriptAttribute(window, "stalled") is "window" PASS testScriptAttribute(window, "storage") is "window" PASS testScriptAttribute(window, "submit") is "window" PASS testScriptAttribute(window, "suspend") is "window" PASS testScriptAttribute(window, "timeupdate") is "window" PASS testScriptAttribute(window, "transitionend") is "window" PASS testScriptAttribute(window, "unload") is "window" PASS testScriptAttribute(window, "volumechange") is "window" PASS testScriptAttribute(window, "waiting") is "window" PASS testScriptAttribute(window, "webkitanimationend") is "window" PASS testScriptAttribute(window, "webkitanimationiteration") is "window" PASS testScriptAttribute(window, "webkitanimationstart") is "window" PASS testScriptAttribute(window, "webkittransitionend") is "window" PASS testScriptAttribute(window, "wheel") is "window" Event names we expect not to be able to set on the window object PASS testScriptAttribute(window, "beforecopy") is "none" PASS testScriptAttribute(window, "beforecut") is "none" PASS testScriptAttribute(window, "beforeload") is "none" PASS testScriptAttribute(window, "beforepaste") is "none" PASS testScriptAttribute(window, "copy") is "none" PASS testScriptAttribute(window, "cut") is "none" PASS testScriptAttribute(window, "focusin") is "none" PASS testScriptAttribute(window, "focusout") is "none" PASS testScriptAttribute(window, "noneventname") is "none" PASS testScriptAttribute(window, "paste") is "none" PASS testScriptAttribute(window, "readystatechange") is "none" Event names we expect to be able to set on the document PASS testScriptAttribute(document, "abort") is "document" PASS testScriptAttribute(document, "animationend") is "document" PASS testScriptAttribute(document, "animationiteration") is "document" PASS testScriptAttribute(document, "animationstart") is "document" PASS testScriptAttribute(document, "beforecopy") is "document" PASS testScriptAttribute(document, "beforecut") is "document" PASS testScriptAttribute(document, "beforepaste") is "document" PASS testScriptAttribute(document, "blur") is "document" PASS testScriptAttribute(document, "canplay") is "document" PASS testScriptAttribute(document, "canplaythrough") is "document" PASS testScriptAttribute(document, "change") is "document" PASS testScriptAttribute(document, "click") is "document" PASS testScriptAttribute(document, "contextmenu") is "document" PASS testScriptAttribute(document, "copy") is "document" PASS testScriptAttribute(document, "cut") is "document" PASS testScriptAttribute(document, "dblclick") is "document" PASS testScriptAttribute(document, "drag") is "document" PASS testScriptAttribute(document, "dragend") is "document" PASS testScriptAttribute(document, "dragenter") is "document" PASS testScriptAttribute(document, "dragleave") is "document" PASS testScriptAttribute(document, "dragover") is "document" PASS testScriptAttribute(document, "dragstart") is "document" PASS testScriptAttribute(document, "drop") is "document" PASS testScriptAttribute(document, "durationchange") is "document" PASS testScriptAttribute(document, "emptied") is "document" PASS testScriptAttribute(document, "ended") is "document" PASS testScriptAttribute(document, "error") is "document" PASS testScriptAttribute(document, "focus") is "document" PASS testScriptAttribute(document, "input") is "document" PASS testScriptAttribute(document, "invalid") is "document" PASS testScriptAttribute(document, "keydown") is "document" PASS testScriptAttribute(document, "keypress") is "document" PASS testScriptAttribute(document, "keyup") is "document" PASS testScriptAttribute(document, "load") is "document" PASS testScriptAttribute(document, "loadeddata") is "document" PASS testScriptAttribute(document, "loadedmetadata") is "document" PASS testScriptAttribute(document, "loadstart") is "document" PASS testScriptAttribute(document, "mousedown") is "document" PASS testScriptAttribute(document, "mouseenter") is "document" PASS testScriptAttribute(document, "mouseleave") is "document" PASS testScriptAttribute(document, "mousemove") is "document" PASS testScriptAttribute(document, "mouseout") is "document" PASS testScriptAttribute(document, "mouseover") is "document" PASS testScriptAttribute(document, "mouseup") is "document" PASS testScriptAttribute(document, "mousewheel") is "document" PASS testScriptAttribute(document, "paste") is "document" PASS testScriptAttribute(document, "pause") is "document" PASS testScriptAttribute(document, "play") is "document" PASS testScriptAttribute(document, "playing") is "document" PASS testScriptAttribute(document, "progress") is "document" PASS testScriptAttribute(document, "ratechange") is "document" PASS testScriptAttribute(document, "readystatechange") is "document" PASS testScriptAttribute(document, "reset") is "document" PASS testScriptAttribute(document, "resize") is "document" PASS testScriptAttribute(document, "scroll") is "document" PASS testScriptAttribute(document, "search") is "document" PASS testScriptAttribute(document, "seeked") is "document" PASS testScriptAttribute(document, "seeking") is "document" PASS testScriptAttribute(document, "select") is "document" PASS testScriptAttribute(document, "selectionchange") is "document" PASS testScriptAttribute(document, "selectstart") is "document" PASS testScriptAttribute(document, "stalled") is "document" PASS testScriptAttribute(document, "submit") is "document" PASS testScriptAttribute(document, "suspend") is "document" PASS testScriptAttribute(document, "timeupdate") is "document" PASS testScriptAttribute(document, "transitionend") is "document" PASS testScriptAttribute(document, "volumechange") is "document" PASS testScriptAttribute(document, "waiting") is "document" PASS testScriptAttribute(document, "webkitanimationend") is "document" PASS testScriptAttribute(document, "webkitanimationiteration") is "document" PASS testScriptAttribute(document, "webkitanimationstart") is "document" PASS testScriptAttribute(document, "webkittransitionend") is "document" PASS testScriptAttribute(document, "wheel") is "document" Event names we expect not to be able to set on the document PASS testScriptAttribute(document, "beforeload") is "none" PASS testScriptAttribute(document, "beforeunload") is "none" PASS testScriptAttribute(document, "focusin") is "none" PASS testScriptAttribute(document, "focusout") is "none" PASS testScriptAttribute(document, "hashchange") is "none" PASS testScriptAttribute(document, "message") is "none" PASS testScriptAttribute(document, "noneventname") is "none" PASS testScriptAttribute(document, "offline") is "none" PASS testScriptAttribute(document, "online") is "none" PASS testScriptAttribute(document, "pagehide") is "none" PASS testScriptAttribute(document, "pageshow") is "none" PASS testScriptAttribute(document, "popstate") is "none" PASS testScriptAttribute(document, "storage") is "none" PASS testScriptAttribute(document, "unload") is "none" Event names we expect to be able to set on an element (tested on the element) PASS testElementAttribute(element, "abort") is "target" PASS testElementAttribute(element, "animationend") is "target" PASS testElementAttribute(element, "animationiteration") is "target" PASS testElementAttribute(element, "animationstart") is "target" PASS testElementAttribute(element, "beforecopy") is "target" PASS testElementAttribute(element, "beforecut") is "target" PASS testElementAttribute(element, "beforeload") is "target" PASS testElementAttribute(element, "beforepaste") is "target" PASS testElementAttribute(element, "blur") is "target" PASS testElementAttribute(element, "canplay") is "target" PASS testElementAttribute(element, "canplaythrough") is "target" PASS testElementAttribute(element, "change") is "target" PASS testElementAttribute(element, "click") is "target" PASS testElementAttribute(element, "contextmenu") is "target" PASS testElementAttribute(element, "copy") is "target" PASS testElementAttribute(element, "cut") is "target" PASS testElementAttribute(element, "dblclick") is "target" PASS testElementAttribute(element, "drag") is "target" PASS testElementAttribute(element, "dragend") is "target" PASS testElementAttribute(element, "dragenter") is "target" PASS testElementAttribute(element, "dragleave") is "target" PASS testElementAttribute(element, "dragover") is "target" PASS testElementAttribute(element, "dragstart") is "target" PASS testElementAttribute(element, "drop") is "target" PASS testElementAttribute(element, "durationchange") is "target" PASS testElementAttribute(element, "emptied") is "target" PASS testElementAttribute(element, "ended") is "target" PASS testElementAttribute(element, "error") is "target" PASS testElementAttribute(element, "focus") is "target" PASS testElementAttribute(element, "focusin") is "target" PASS testElementAttribute(element, "focusout") is "target" PASS testElementAttribute(element, "input") is "target" PASS testElementAttribute(element, "invalid") is "target" PASS testElementAttribute(element, "keydown") is "target" PASS testElementAttribute(element, "keypress") is "target" PASS testElementAttribute(element, "keyup") is "target" PASS testElementAttribute(element, "load") is "target" PASS testElementAttribute(element, "loadeddata") is "target" PASS testElementAttribute(element, "loadedmetadata") is "target" PASS testElementAttribute(element, "loadstart") is "target" PASS testElementAttribute(element, "mousedown") is "target" PASS testElementAttribute(element, "mouseenter") is "target" PASS testElementAttribute(element, "mouseleave") is "target" PASS testElementAttribute(element, "mousemove") is "target" PASS testElementAttribute(element, "mouseout") is "target" PASS testElementAttribute(element, "mouseover") is "target" PASS testElementAttribute(element, "mouseup") is "target" PASS testElementAttribute(element, "mousewheel") is "target" PASS testElementAttribute(element, "paste") is "target" PASS testElementAttribute(element, "pause") is "target" PASS testElementAttribute(element, "play") is "target" PASS testElementAttribute(element, "playing") is "target" PASS testElementAttribute(element, "progress") is "target" PASS testElementAttribute(element, "ratechange") is "target" PASS testElementAttribute(element, "reset") is "target" PASS testElementAttribute(element, "resize") is "target" PASS testElementAttribute(element, "scroll") is "target" PASS testElementAttribute(element, "search") is "target" PASS testElementAttribute(element, "seeked") is "target" PASS testElementAttribute(element, "seeking") is "target" PASS testElementAttribute(element, "select") is "target" FAIL testElementAttribute(element, "selectionchange") should be target. Was script: target; content: none. PASS testElementAttribute(element, "selectstart") is "target" PASS testElementAttribute(element, "stalled") is "target" PASS testElementAttribute(element, "submit") is "target" PASS testElementAttribute(element, "suspend") is "target" PASS testElementAttribute(element, "timeupdate") is "target" PASS testElementAttribute(element, "transitionend") is "target" PASS testElementAttribute(element, "volumechange") is "target" PASS testElementAttribute(element, "waiting") is "target" PASS testElementAttribute(element, "webkitanimationend") is "target" PASS testElementAttribute(element, "webkitanimationiteration") is "target" PASS testElementAttribute(element, "webkitanimationstart") is "target" PASS testElementAttribute(element, "webkittransitionend") is "target" PASS testElementAttribute(element, "wheel") is "target" Event names we expect not to be able to set on an element (tested on the element) PASS testElementAttribute(element, "beforeunload") is "none" PASS testElementAttribute(element, "hashchange") is "none" PASS testElementAttribute(element, "message") is "none" PASS testElementAttribute(element, "noneventname") is "none" PASS testElementAttribute(element, "offline") is "none" PASS testElementAttribute(element, "online") is "none" PASS testElementAttribute(element, "pagehide") is "none" PASS testElementAttribute(element, "pageshow") is "none" PASS testElementAttribute(element, "popstate") is "none" PASS testElementAttribute(element, "readystatechange") is "none" PASS testElementAttribute(element, "storage") is "none" PASS testElementAttribute(element, "unload") is "none" Event names we expect to be able to set on an element (tested on the element) PASS testElementAttribute(inputElement, "abort") is "target" PASS testElementAttribute(inputElement, "animationend") is "target" PASS testElementAttribute(inputElement, "animationiteration") is "target" PASS testElementAttribute(inputElement, "animationstart") is "target" PASS testElementAttribute(inputElement, "beforecopy") is "target" PASS testElementAttribute(inputElement, "beforecut") is "target" PASS testElementAttribute(inputElement, "beforeload") is "target" PASS testElementAttribute(inputElement, "beforepaste") is "target" PASS testElementAttribute(inputElement, "blur") is "target" PASS testElementAttribute(inputElement, "canplay") is "target" PASS testElementAttribute(inputElement, "canplaythrough") is "target" PASS testElementAttribute(inputElement, "change") is "target" PASS testElementAttribute(inputElement, "click") is "target" PASS testElementAttribute(inputElement, "contextmenu") is "target" PASS testElementAttribute(inputElement, "copy") is "target" PASS testElementAttribute(inputElement, "cut") is "target" PASS testElementAttribute(inputElement, "dblclick") is "target" PASS testElementAttribute(inputElement, "drag") is "target" PASS testElementAttribute(inputElement, "dragend") is "target" PASS testElementAttribute(inputElement, "dragenter") is "target" PASS testElementAttribute(inputElement, "dragleave") is "target" PASS testElementAttribute(inputElement, "dragover") is "target" PASS testElementAttribute(inputElement, "dragstart") is "target" PASS testElementAttribute(inputElement, "drop") is "target" PASS testElementAttribute(inputElement, "durationchange") is "target" PASS testElementAttribute(inputElement, "emptied") is "target" PASS testElementAttribute(inputElement, "ended") is "target" PASS testElementAttribute(inputElement, "error") is "target" PASS testElementAttribute(inputElement, "focus") is "target" PASS testElementAttribute(inputElement, "focusin") is "target" PASS testElementAttribute(inputElement, "focusout") is "target" PASS testElementAttribute(inputElement, "input") is "target" PASS testElementAttribute(inputElement, "invalid") is "target" PASS testElementAttribute(inputElement, "keydown") is "target" PASS testElementAttribute(inputElement, "keypress") is "target" PASS testElementAttribute(inputElement, "keyup") is "target" PASS testElementAttribute(inputElement, "load") is "target" PASS testElementAttribute(inputElement, "loadeddata") is "target" PASS testElementAttribute(inputElement, "loadedmetadata") is "target" PASS testElementAttribute(inputElement, "loadstart") is "target" PASS testElementAttribute(inputElement, "mousedown") is "target" PASS testElementAttribute(inputElement, "mouseenter") is "target" PASS testElementAttribute(inputElement, "mouseleave") is "target" PASS testElementAttribute(inputElement, "mousemove") is "target" PASS testElementAttribute(inputElement, "mouseout") is "target" PASS testElementAttribute(inputElement, "mouseover") is "target" PASS testElementAttribute(inputElement, "mouseup") is "target" PASS testElementAttribute(inputElement, "mousewheel") is "target" PASS testElementAttribute(inputElement, "paste") is "target" PASS testElementAttribute(inputElement, "pause") is "target" PASS testElementAttribute(inputElement, "play") is "target" PASS testElementAttribute(inputElement, "playing") is "target" PASS testElementAttribute(inputElement, "progress") is "target" PASS testElementAttribute(inputElement, "ratechange") is "target" PASS testElementAttribute(inputElement, "reset") is "target" PASS testElementAttribute(inputElement, "resize") is "target" PASS testElementAttribute(inputElement, "scroll") is "target" PASS testElementAttribute(inputElement, "search") is "target" PASS testElementAttribute(inputElement, "seeked") is "target" PASS testElementAttribute(inputElement, "seeking") is "target" PASS testElementAttribute(inputElement, "select") is "target" FAIL testElementAttribute(inputElement, "selectionchange") should be target. Was script: target; content: none. PASS testElementAttribute(inputElement, "selectstart") is "target" PASS testElementAttribute(inputElement, "stalled") is "target" PASS testElementAttribute(inputElement, "submit") is "target" PASS testElementAttribute(inputElement, "suspend") is "target" PASS testElementAttribute(inputElement, "timeupdate") is "target" PASS testElementAttribute(inputElement, "transitionend") is "target" PASS testElementAttribute(inputElement, "volumechange") is "target" PASS testElementAttribute(inputElement, "waiting") is "target" PASS testElementAttribute(inputElement, "webkitanimationend") is "target" PASS testElementAttribute(inputElement, "webkitanimationiteration") is "target" PASS testElementAttribute(inputElement, "webkitanimationstart") is "target" PASS testElementAttribute(inputElement, "webkittransitionend") is "target" PASS testElementAttribute(inputElement, "wheel") is "target" Event names we expect not to be able to set on an element (tested on the element) PASS testElementAttribute(inputElement, "beforeunload") is "none" PASS testElementAttribute(inputElement, "hashchange") is "none" PASS testElementAttribute(inputElement, "message") is "none" PASS testElementAttribute(inputElement, "noneventname") is "none" PASS testElementAttribute(inputElement, "offline") is "none" PASS testElementAttribute(inputElement, "online") is "none" PASS testElementAttribute(inputElement, "pagehide") is "none" PASS testElementAttribute(inputElement, "pageshow") is "none" PASS testElementAttribute(inputElement, "popstate") is "none" PASS testElementAttribute(inputElement, "readystatechange") is "none" PASS testElementAttribute(inputElement, "storage") is "none" PASS testElementAttribute(inputElement, "unload") is "none" Event names we expect to be able to set on an element (tested on the