This tests that document.createEvent is hooked up for all Event interfaces (and alternatives) and creates the right instance.

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


PASS document.createEvent('Event') instanceof window.Event is true
PASS document.createEvent('Event').constructor === window.Event is true
PASS document.createEvent('Events') instanceof window.Event is true
PASS document.createEvent('Events').constructor === window.Event is true
PASS document.createEvent('HTMLEvents') instanceof window.Event is true
PASS document.createEvent('HTMLEvents').constructor === window.Event is true
PASS document.createEvent('CompositionEvent') instanceof window.CompositionEvent is true
PASS document.createEvent('CompositionEvent') instanceof window.Event is true
PASS document.createEvent('CompositionEvent').constructor === window.CompositionEvent is true
PASS document.createEvent('CustomEvent') instanceof window.CustomEvent is true
PASS document.createEvent('CustomEvent') instanceof window.Event is true
PASS document.createEvent('CustomEvent').constructor === window.CustomEvent is true
PASS document.createEvent('HashChangeEvent') instanceof window.HashChangeEvent is true
PASS document.createEvent('HashChangeEvent') instanceof window.Event is true
PASS document.createEvent('HashChangeEvent').constructor === window.HashChangeEvent is true
PASS document.createEvent('KeyboardEvent') instanceof window.KeyboardEvent is true
PASS document.createEvent('KeyboardEvent') instanceof window.UIEvent is true
PASS document.createEvent('KeyboardEvent') instanceof window.Event is true
PASS document.createEvent('KeyboardEvent').constructor === window.KeyboardEvent is true
PASS document.createEvent('KeyboardEvents') instanceof window.KeyboardEvent is true
PASS document.createEvent('KeyboardEvents') instanceof window.UIEvent is true
PASS document.createEvent('KeyboardEvents') instanceof window.Event is true
PASS document.createEvent('KeyboardEvents').constructor === window.KeyboardEvent is true
PASS document.createEvent('MessageEvent') instanceof window.MessageEvent is true
PASS document.createEvent('MessageEvent') instanceof window.Event is true
PASS document.createEvent('MessageEvent').constructor === window.MessageEvent is true
PASS document.createEvent('MouseEvent') instanceof window.MouseEvent is true
PASS document.createEvent('MouseEvent') instanceof window.UIEvent is true
PASS document.createEvent('MouseEvent') instanceof window.Event is true
PASS document.createEvent('MouseEvent').constructor === window.MouseEvent is true
PASS document.createEvent('MouseEvents') instanceof window.MouseEvent is true
PASS document.createEvent('MouseEvents') instanceof window.UIEvent is true
PASS document.createEvent('MouseEvents') instanceof window.Event is true
PASS document.createEvent('MouseEvents').constructor === window.MouseEvent is true
PASS document.createEvent('MutationEvent') instanceof window.MutationEvent is true
PASS document.createEvent('MutationEvent') instanceof window.Event is true
PASS document.createEvent('MutationEvent').constructor === window.MutationEvent is true
PASS document.createEvent('MutationEvents') instanceof window.MutationEvent is true
PASS document.createEvent('MutationEvents') instanceof window.Event is true
PASS document.createEvent('MutationEvents').constructor === window.MutationEvent is true
PASS document.createEvent('OverflowEvent') instanceof window.OverflowEvent is true
PASS document.createEvent('OverflowEvent') instanceof window.Event is true
PASS document.createEvent('OverflowEvent').constructor === window.OverflowEvent is true
PASS document.createEvent('TextEvent') instanceof window.TextEvent is true
PASS document.createEvent('TextEvent') instanceof window.UIEvent is true
PASS document.createEvent('TextEvent') instanceof window.Event is true
PASS document.createEvent('TextEvent').constructor === window.TextEvent is true
PASS document.createEvent('UIEvent') instanceof window.UIEvent is true
PASS document.createEvent('UIEvent') instanceof window.Event is true
PASS document.createEvent('UIEvent').constructor === window.UIEvent is true
PASS document.createEvent('UIEvents') instanceof window.UIEvent is true
PASS document.createEvent('UIEvents') instanceof window.Event is true
PASS document.createEvent('UIEvents').constructor === window.UIEvent is true
PASS document.createEvent('WheelEvent') instanceof window.WheelEvent is true
PASS document.createEvent('WheelEvent') instanceof window.MouseEvent is true
PASS document.createEvent('WheelEvent') instanceof window.UIEvent is true
PASS document.createEvent('WheelEvent') instanceof window.Event is true
PASS document.createEvent('WheelEvent').constructor === window.WheelEvent is true
PASS document.createEvent('StorageEvent') instanceof window.StorageEvent is true
PASS document.createEvent('StorageEvent') instanceof window.Event is true
PASS document.createEvent('StorageEvent').constructor === window.StorageEvent is true
PASS document.createEvent('SVGZoomEvents') instanceof window.SVGZoomEvent is true
PASS document.createEvent('SVGZoomEvents') instanceof window.Event is true
PASS document.createEvent('SVGZoomEvents').constructor === window.SVGZoomEvent is true
PASS allEventInterfacesCreateEvents is true
PASS successfullyParsed is true

TEST COMPLETE

