diff options
Diffstat (limited to 'testing/web-platform/tests/encrypted-media/scripts/invalid-license.js')
-rw-r--r-- | testing/web-platform/tests/encrypted-media/scripts/invalid-license.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/testing/web-platform/tests/encrypted-media/scripts/invalid-license.js b/testing/web-platform/tests/encrypted-media/scripts/invalid-license.js new file mode 100644 index 000000000..992eef5dc --- /dev/null +++ b/testing/web-platform/tests/encrypted-media/scripts/invalid-license.js @@ -0,0 +1,33 @@ +function runTest(config) +{ + promise_test(function (test) { + var initDataType; + var initData; + var keySystem = config.keysystem; + var invalidLicense = new Uint8Array([0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77]); + var messageEventFired = false; + + return navigator.requestMediaKeySystemAccess(keySystem, getSimpleConfiguration()).then(function (access) { + initDataType = access.getConfiguration().initDataTypes[0]; + initData = getInitData(initDataType); + return access.createMediaKeys(); + }).then(function (mediaKeys) { + var keySession = mediaKeys.createSession(); + var eventWatcher = new EventWatcher(test, keySession, ['message']); + var promise = eventWatcher.wait_for('message'); + keySession.generateRequest(initDataType, initData); + return promise; + }).then(function (messageEvent) { + messageEventFired = true; + return messageEvent.target.update(invalidLicense); + }).then(function () { + assert_unreached('Error: update() should fail because of an invalid license.'); + }).catch(function (error) { + if(messageEventFired) { + assert_equals(error.name, 'TypeError'); + } else { + assert_unreached('Error: ' + error.name); + } + }); + }, 'Update with invalid Clear Key license'); +}
\ No newline at end of file |