test_seek-3.html (1697B)
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 = 3; 19 20 function test_seek3(v, seekTime, is, ok, finish) { 21 22 // Test seeking works if current time is set but video is not played. 23 var completed = false; 24 var gotTimeupdate = false; 25 26 function startTest() { 27 if (completed) 28 return; 29 30 v.currentTime=seekTime; 31 } 32 33 function timeupdate() { 34 gotTimeupdate = true; 35 v.removeEventListener("timeupdate", timeupdate); 36 } 37 38 function seekStarted() { 39 if (completed) 40 return; 41 42 ok(v.currentTime >= seekTime - 0.1, "Video currentTime should be around " + seekTime + ": " + v.currentTime); 43 v.addEventListener("timeupdate", timeupdate); 44 } 45 46 function seekEnded() { 47 if (completed) 48 return; 49 50 var t = v.currentTime; 51 ok(Math.abs(t - seekTime) <= 0.1, "Video currentTime should be around " + seekTime + ": " + t); 52 ok(gotTimeupdate, "Should have got timeupdate between seeking and seekended"); 53 completed = true; 54 finish(); 55 } 56 57 v.addEventListener("loadedmetadata", startTest); 58 v.addEventListener("seeking", seekStarted); 59 v.addEventListener("seeked", seekEnded); 60 61 } 62 63 manager.runTests(createTestArray(), startTest); 64 65 </script> 66 </pre> 67 </body> 68 </html>