This test checks if the invalid event is correctly handled by document.oninvalid handler.

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


  
PASS Handled
PASS successfullyParsed is true

TEST COMPLETE

