4 <title>Test Clear Key handling of non-ASCII responses for update().
</title>
5 <script src=
"encrypted-media-utils.js"></script>
6 <script src=
"../../resources/testharness.js"></script>
7 <script src=
"../../resources/testharnessreport.js"></script>
12 // This test passes |response| to update() as a JSON Web Key Set.
13 // CDMs other than Clear Key won't expect |response| in this format.
15 async_test(function(test
)
20 function processMessage(event
)
22 // |jwkSet| includes some non-ASCII characters.
23 var jwkSet
= '{"keys":[{'
24 + '"kty":"oct\uDC00\uD800",'
25 + '"k":"MDEyMzQ1Njc4OTAxMjM0NQ",'
26 + '"kid":"MDEyMzQ1Njc4OTAxMjM0NQ"'
28 mediaKeySession
.update(stringToUint8Array(jwkSet
)).then(function() {
29 forceTestFailureFromPromise(test
, 'Error: update() succeeded');
31 assert_equals(error
.name
, 'InvalidAccessError');
36 getSupportedInitDataType().then(function(type
) {
38 return navigator
.requestMediaKeySystemAccess('org.w3.clearkey', [{}]);
39 }).then(function(access
) {
40 return access
.createMediaKeys();
41 }).then(function(mediaKeys
) {
42 mediaKeySession
= mediaKeys
.createSession();
43 waitForEventAndRunStep('message', mediaKeySession
, processMessage
, test
);
44 return mediaKeySession
.generateRequest(initDataType
, getInitData(initDataType
));
46 }, 'Clear Key update() with non-ASCII response.');