| Index: LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html
|
| diff --git a/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html b/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html
|
| index 92d7f982a7819ef461e96984f2addbfa9d6fe6ed..670556b9a8008117ed6ca07bec248ba9bf5d301c 100644
|
| --- a/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html
|
| +++ b/LayoutTests/media/encrypted-media/encrypted-media-setmediakeys.html
|
| @@ -23,24 +23,31 @@
|
| assert_equals(typeof video.setMediaKeys, 'function');
|
|
|
| // Try setting mediaKeys to null.
|
| - video.setMediaKeys(null);
|
| - assert_equals(video.mediaKeys, null);
|
| + video.setMediaKeys(null).then(function(result) {
|
| + assert_equals(video.mediaKeys, null);
|
|
|
| - // Try setting mediaKeys to the wrong type of object.
|
| - assert_throws(new TypeError(),
|
| - function () { video.setMediaKeys(new Date()) });
|
| + // Try setting mediaKeys to the wrong type of object.
|
| + return video.setMediaKeys(new Date());
|
| + }).then(function(result) {
|
| + assert_unreached('setMediaKeys did not fail when setting to Date()');
|
| + }, function(error) {
|
| + // TypeError expected.
|
| + assert_equals(error.name, 'TypeError');
|
|
|
| - // Create a MediaKeys object and assign it to video.
|
| - MediaKeys.create('org.w3.clearkey').then(function(result) {
|
| + // Create a MediaKeys object and assign it to video.
|
| + return MediaKeys.create('org.w3.clearkey');
|
| + }).then(function(result) {
|
| mediaKeys = result;
|
| assert_not_equals(mediaKeys, null);
|
| assert_equals(mediaKeys.keySystem, 'org.w3.clearkey');
|
| - video.setMediaKeys(mediaKeys);
|
| + return video.setMediaKeys(mediaKeys);
|
| + }).then(function(result) {
|
| assert_not_equals(video.mediaKeys, null);
|
| assert_true(video.mediaKeys === mediaKeys);
|
|
|
| // Set it a second time.
|
| - video.setMediaKeys(mediaKeys);
|
| + return video.setMediaKeys(mediaKeys);
|
| + }).then(function(result) {
|
| assert_not_equals(video.mediaKeys, null);
|
| assert_true(video.mediaKeys === mediaKeys);
|
|
|
| @@ -55,26 +62,38 @@
|
| assert_equals(mediaKeys2.keySystem, 'org.w3.clearkey');
|
|
|
| // Assign the second MediaKeys to video.
|
| - video.setMediaKeys(mediaKeys2);
|
| + return video.setMediaKeys(mediaKeys2);
|
| + }).then(function(result) {
|
| assert_not_equals(video.mediaKeys, null);
|
| assert_not_equals(video.mediaKeys, mediaKeys);
|
| assert_true(video.mediaKeys === mediaKeys2);
|
|
|
| // Set it back to first MediaKeys.
|
| - video.setMediaKeys(mediaKeys);
|
| + return video.setMediaKeys(mediaKeys);
|
| + }, function(error) {
|
| + // Some implementations don't support changing MediaKeys
|
| + // once set, so this test is a success.
|
| + // FIXME: Allow this case to pass as necessary before
|
| + // submitting to W3C.
|
| + assert_equals(error.name, "NotSupportedError");
|
| + forceTestFailureFromPromise(test, error);
|
| + }).then(function(result) {
|
| assert_true(video.mediaKeys === mediaKeys);
|
| assert_not_equals(video.mediaKeys, mediaKeys2);
|
|
|
| // Set mediaKeys to null.
|
| - video.setMediaKeys(null);
|
| + return video.setMediaKeys(null);
|
| + }).then(function(result) {
|
| assert_equals(video.mediaKeys, null);
|
|
|
| // Set it to null a second time.
|
| - video.setMediaKeys(null);
|
| + return video.setMediaKeys(null);
|
| + }).then(function(result) {
|
| assert_equals(video.mediaKeys, null);
|
|
|
| // Set it back to first MediaKeys again.
|
| - video.setMediaKeys(mediaKeys);
|
| + return video.setMediaKeys(mediaKeys);
|
| + }).then(function(result) {
|
| assert_true(video.mediaKeys === mediaKeys);
|
| assert_not_equals(video.mediaKeys, mediaKeys2);
|
| test.done();
|
|
|