This tests the constructor for the MIDIMessageEvent DOM class.

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


PASS new MIDIMessageEvent('eventType').bubbles is false
PASS new MIDIMessageEvent('eventType').cancelable is false
PASS new MIDIMessageEvent('eventType').data is null
PASS new MIDIMessageEvent('eventType', { bubbles: false }).bubbles is false
PASS new MIDIMessageEvent('eventType', { bubbles: true }).bubbles is true
PASS new MIDIMessageEvent('eventType', { cancelable: false }).cancelable is false
PASS new MIDIMessageEvent('eventType', { cancelable: true }).cancelable is true
PASS new MIDIMessageEvent('eventType', { data: data }).data == '0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0' is true
PASS new MIDIMessageEvent('eventType', { bubbles: true, cancelable: true, data: data }).bubbles is true
PASS new MIDIMessageEvent('eventType', { bubbles: true, cancelable: true, data: data }).cancelable is true
PASS new MIDIMessageEvent('eventType', { bubbles: true, cancelable: true, data: data }).data == '0,0,0' is true
PASS successfullyParsed is true

TEST COMPLETE

