test_seek-6.html (1401B)
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 = 6; 19 20 function test_seek6(v, seekTime, is, ok, finish) { 21 22 // Test for bug identified by Chris Pearce in comment 40 on 23 // bug 449159. 24 var seekCount = 0; 25 var completed = false; 26 var interval; 27 28 function poll() { 29 v.currentTime; 30 } 31 32 function startTest() { 33 if (completed) 34 return; 35 interval = setInterval(poll, 10); 36 v.currentTime = Math.random() * v.duration; 37 } 38 39 function seekEnded() { 40 if (completed) 41 return; 42 43 seekCount++; 44 ok(true, "Seek " + seekCount); 45 if (seekCount == 3) { 46 clearInterval(interval); 47 completed = true; 48 finish(); 49 } else { 50 v.currentTime = Math.random() * v.duration; 51 } 52 } 53 54 v.addEventListener("loadedmetadata", startTest); 55 v.addEventListener("seeked", seekEnded); 56 57 } 58 59 manager.runTests(createTestArray(), startTest); 60 61 </script> 62 </pre> 63 </body> 64 </html>