1
0
Fork 0
firefox/testing/web-platform/tests/encrypted-media/scripts/invalid-license.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

38 lines
1.6 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;
var p = 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);
}).catch(function (error) {
// Ensure we reached the update() call we are trying to test.
if (!messageEventFired) {
assert_unreached(
`Failed to reach the update() call. Error: '${error.name}' '${error.message}'`);
}
// Propagate the error on through.
throw error;
});
return promise_rejects_js(
test, TypeError, p,
'update() should fail because of an invalid license.');
}, 'Update with invalid Clear Key license');
}