test_seek-11.html (1899B)
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 PARALLEL_TESTS = 1; 19 const SEEK_TEST_NUMBER = 11; 20 21 function test_seek11(v, seekTime, is, ok, finish) { 22 23 // Test for bug 476973, multiple seeks to the same position shouldn't cause problems. 24 25 var seekedNonZero = false; 26 var completed = false; 27 var target = 0; 28 29 function startTest() { 30 if (completed) 31 return; 32 target = v.duration / 2; 33 v.currentTime = target; 34 v.currentTime = target; 35 v._seekTarget = target; 36 } 37 38 function startSeeking() { 39 ok(v.currentTime >= v._seekTarget - 0.1, 40 "Video currentTime should be around " + v._seekTarget + ": " + v.currentTime); 41 if (!seekedNonZero) { 42 v.currentTime = target; 43 v._seekTarget = target; 44 seekedNonZero = true; 45 } 46 } 47 48 function seekEnded() { 49 if (completed) 50 return; 51 52 if (v.currentTime > 0) { 53 ok(v.currentTime > target - 0.1 && v.currentTime < target + 0.1, 54 "Seek to wrong destination " + v.currentTime); 55 v.currentTime = 0.0; 56 v._seekTarget = 0.0; 57 } else { 58 ok(seekedNonZero, "Successfully seeked to nonzero"); 59 ok(true, "Seek back to zero was successful"); 60 completed = true; 61 finish(); 62 } 63 } 64 65 v.addEventListener("loadedmetadata", startTest); 66 v.addEventListener("seeking", startSeeking); 67 v.addEventListener("seeked", seekEnded); 68 69 } 70 71 manager.runTests(createTestArray(), startTest); 72 73 </script> 74 </pre> 75 </body> 76 </html>