Tests that events are never fired synchronously from a call to window.addEventListener().

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


PASS hasAddEventListenerReturned is true
PASS successfullyParsed is true

TEST COMPLETE

