test_seek-5.html (1631B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Media test: seek tests</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 <script type="text/javascript" src="seek_support.js"></script> 9 </head> 10 <body> 11 <pre id="test"> 12 <script class="testbody" type="text/javascript"> 13 14 // The data being used in these tests is specified in manifest.js. 15 // The functions to build the test array and to run a specific test are in 16 // seek_support.js. 17 18 const SEEK_TEST_NUMBER = 5; 19 20 function test_seek5(v, seekTime, is, ok, finish) { 21 22 // Test for a seek, followed by a play before the seek completes, ensure we play at the end of the seek. 23 var startPassed = false; 24 var endPassed = false; 25 var completed = false; 26 27 function startTest() { 28 if (completed) 29 return; 30 31 v.currentTime=seekTime; 32 } 33 34 function seekStarted() { 35 if (completed) 36 return; 37 ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); 38 startPassed = true; 39 v.play(); 40 } 41 42 function seekEnded() { 43 if (completed) 44 return; 45 endPassed = true; 46 } 47 48 function playbackEnded() { 49 if (completed) 50 return; 51 ok(startPassed, "Got seeking event"); 52 ok(endPassed, "Got seeked event"); 53 completed = true; 54 finish(); 55 } 56 57 v.addEventListener("ended", playbackEnded); 58 v.addEventListener("loadedmetadata", startTest); 59 v.addEventListener("seeking", seekStarted); 60 v.addEventListener("seeked", seekEnded); 61 62 } 63 64 manager.runTests(createTestArray(), startTest); 65 66 </script> 67 </pre> 68 </body> 69 </html>