test_play_promise_17.html (1285B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Media test: promise-based play() method</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 7 <script type="text/javascript" src="manifest.js"></script> 8 </head> 9 <body> 10 <pre id="test"> 11 12 <script> 13 // Name: loadAlgorithmRejectOrdering 14 // Case: invoke load() on an element should reject pending promises in order. 15 // Expected result: the pending promises are rejected in order. 16 17 let manager = new MediaTestManager; 18 19 function initTest(test, token) { 20 manager.started(token); 21 22 let element = document.createElement(getMajorMimeType(test.type)); 23 let firstPromiseRejected = false; 24 25 // play 26 element.play().then( 27 () => { ok(false, `loadAlgorithmRejectOrdering(${token}) should not be resolved.`); }, 28 () => { firstPromiseRejected = true; } 29 ); 30 31 // play again 32 element.play().then( 33 () => { ok(false, `loadAlgorithmRejectOrdering(${token}) should not be resolved.`); }, 34 () => { ok(firstPromiseRejected, `loadAlgorithmRejectOrdering(${token}), the first play should already be rejected.`); } 35 ).then( () => { manager.finished(token); } ); 36 37 // triger load 38 element.src = test.name; 39 } 40 41 manager.runTests(gSmallTests, initTest); 42 43 </script>