test_seek-4.html (1609B)
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 = 4; 19 20 function test_seek4(v, seekTime, is, ok, finish) { 21 22 // Test for a seek, followed by another seek before the first is complete. 23 var seekCount = 0; 24 var completed = false; 25 26 function startTest() { 27 if (completed) 28 return; 29 30 v.currentTime=seekTime; 31 v._seekTarget=seekTime; 32 } 33 34 function seekStarted() { 35 if (completed) 36 return; 37 38 seekCount += 1; 39 40 ok(v.currentTime >= v._seekTarget - 0.1, 41 "Video currentTime should be around " + v._seekTarget + ": " + v.currentTime); 42 if (seekCount == 1) { 43 v.currentTime=seekTime/2; 44 v._seekTarget=seekTime/2; 45 } 46 } 47 48 function seekEnded() { 49 if (completed) 50 return; 51 52 if (seekCount == 2) { 53 ok(Math.abs(v.currentTime - seekTime/2) <= 0.1, "seek on target: " + v.currentTime); 54 completed = true; 55 finish(); 56 } 57 } 58 59 v.addEventListener("loadedmetadata", startTest); 60 v.addEventListener("seeking", seekStarted); 61 v.addEventListener("seeked", seekEnded); 62 63 } 64 65 manager.runTests(createTestArray(), startTest); 66 67 </script> 68 </pre> 69 </body> 70 </html>