This tests the constructor for the CompositionEvent DOM class. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS new CompositionEvent('eventType').bubbles is false PASS new CompositionEvent('eventType').cancelable is false PASS new CompositionEvent('eventType').view is null PASS new CompositionEvent('eventType').detail is 0 PASS new CompositionEvent('eventType').data is "" PASS new CompositionEvent('eventType', { bubbles: false }).bubbles is false PASS new CompositionEvent('eventType', { bubbles: true }).bubbles is true PASS new CompositionEvent('eventType', { cancelable: false }).cancelable is false PASS new CompositionEvent('eventType', { cancelable: true }).cancelable is true PASS new CompositionEvent('eventType', { view: window }).view is window PASS new CompositionEvent('eventType', { view: this }).view is this PASS new CompositionEvent('eventType', { view: testObject }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: document }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: undefined }).view is null PASS new CompositionEvent('eventType', { view: null }).view is null PASS new CompositionEvent('eventType', { view: false }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: true }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: '' }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: 'chocolate' }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: 12345 }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: 18446744073709551615 }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: NaN }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { view: {valueOf: function () { return window; } } }).view == window threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { get view() { return window; } }).view is window PASS new CompositionEvent('eventType', { get view() { return 123; } }).view threw exception TypeError: Failed to construct 'CompositionEvent': Failed to read the 'view' property from 'UIEventInit': Failed to convert value to 'Window'.. PASS new CompositionEvent('eventType', { get view() { throw 'CompositionEvent Error'; } }) threw exception CompositionEvent Error. PASS new CompositionEvent('eventType', { data: 'koakuma' }).data is "koakuma" PASS new CompositionEvent('eventType', { data: '' }).data is "" PASS new CompositionEvent('eventType', { data: undefined }).data is "" PASS new CompositionEvent('eventType', { data: null }).data is "null" PASS new CompositionEvent('eventType', { data: false }).data is "false" PASS new CompositionEvent('eventType', { data: true }).data is "true" PASS new CompositionEvent('eventType', { data: 12345 }).data is "12345" PASS new CompositionEvent('eventType', { data: 18446744073709551615 }).data is "18446744073709552000" PASS new CompositionEvent('eventType', { data: NaN }).data is "NaN" PASS new CompositionEvent('eventType', { data: [] }).data is "" PASS new CompositionEvent('eventType', { data: [1, 2, 3] }).data is "1,2,3" PASS new CompositionEvent('eventType', { data: {koakuma: 12345} }).data is "[object Object]" PASS new CompositionEvent('eventType', { data: {valueOf: function () { return 'koakuma'; } } }).data is "[object Object]" PASS new CompositionEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, data: 'koakuma' }).bubbles is true PASS new CompositionEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, data: 'koakuma' }).cancelable is true PASS new CompositionEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, data: 'koakuma' }).view is window PASS new CompositionEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, data: 'koakuma' }).detail is 111 PASS new CompositionEvent('eventType', { bubbles: true, cancelable: true, view: window, detail: 111, data: 'koakuma' }).data is "koakuma" PASS successfullyParsed is true TEST COMPLETE