OLD | NEW |
(Empty) | |
| 1 function runTest(config, qualifier) { |
| 2 var testname = testnamePrefix( qualifier, config.keysystem ) |
| 3 + ', setmediakeys multiple times with the same mediakey
s'; |
| 4 |
| 5 var configuration = getSimpleConfigurationForContent( config.content ); |
| 6 |
| 7 if ( config.initDataType && config.initData ) { |
| 8 configuration.initDataTypes = [ config.initDataType ]; |
| 9 } |
| 10 |
| 11 async_test (function (test) { |
| 12 var _video = config.video, |
| 13 _mediaKeys; |
| 14 |
| 15 // Test MediaKeys assignment. |
| 16 assert_equals(_video.mediaKeys, null); |
| 17 assert_equals(typeof _video.setMediaKeys, 'function'); |
| 18 |
| 19 function onFailure(error) { |
| 20 forceTestFailureFromPromise(test, error); |
| 21 } |
| 22 |
| 23 navigator.requestMediaKeySystemAccess(config.keysystem, [configuration])
.then(function(access) { |
| 24 return access.createMediaKeys(); |
| 25 }).then(function(result) { |
| 26 _mediaKeys = result; |
| 27 // Set mediaKeys for first time on video should work. |
| 28 return _video.setMediaKeys(_mediaKeys); |
| 29 }).then(function(result) { |
| 30 assert_equals(_video.mediaKeys, _mediaKeys); |
| 31 // Set mediaKeys on video again should return a resolved promise. |
| 32 return _video.setMediaKeys(_mediaKeys); |
| 33 }).then(function (result) { |
| 34 assert_equals(_video.mediaKeys, _mediaKeys); |
| 35 return testmediasource(config); |
| 36 }).then(function(source) { |
| 37 // Set src attribute on Video Element |
| 38 _video.src = URL.createObjectURL(source); |
| 39 // Set mediaKeys again on video should still return a resolved promi
se. |
| 40 return _video.setMediaKeys(_mediaKeys); |
| 41 }).then(function() { |
| 42 assert_equals(_video.mediaKeys, _mediaKeys); |
| 43 test.done(); |
| 44 }).catch(onFailure); |
| 45 }, testname); |
| 46 } |
OLD | NEW |