mirror of
https://github.com/servo/servo.git
synced 2025-07-10 17:03:40 +01:00
33 lines
No EOL
1.4 KiB
JavaScript
33 lines
No EOL
1.4 KiB
JavaScript
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');
|
|
} |