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(); |