This tests the constructor for the MediaKeyMessageEvent DOM class.

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

PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-request', message: arrayBuffer }).bubbles is false
PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-request', message: arrayBuffer }).cancelable is false
PASS new MediaKeyMessageEvent('eventType', { bubbles: false, messageType: 'license-request', message: arrayBuffer }).bubbles is false
PASS new MediaKeyMessageEvent('eventType', { bubbles: true, messageType: 'license-request', message: arrayBuffer }).bubbles is true
PASS new MediaKeyMessageEvent('eventType', { cancelable: false, messageType: 'license-request', message: arrayBuffer }).cancelable is false
PASS new MediaKeyMessageEvent('eventType', { cancelable: true, messageType: 'license-request', message: arrayBuffer }).cancelable is true
PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-request', message: arrayBuffer }).message is arrayBuffer
PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-request', message: arrayBuffer }).messageType is "license-request"
PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-renewal', message: arrayBuffer }).messageType is "license-renewal"
PASS new MediaKeyMessageEvent('eventType', { messageType: 'license-release', message: arrayBuffer }).messageType is "license-release"
PASS successfullyParsed is true

TEST COMPLETE

