Index: third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/scripts/invalid-license.js |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/scripts/invalid-license.js b/third_party/WebKit/LayoutTests/imported/wpt/encrypted-media/scripts/invalid-license.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..992eef5dcf78961ad8f1c45f939e67330de78c57 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/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'); |
+} |