test_seek-13.html (2255B)
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 = 13; 19 20 function test_seek13(v, seekTime, is, ok, finish) { 21 var completed = false; 22 23 function startTest() { 24 if (completed) 25 return; 26 ok(!v.seeking, "seeking should default to false"); 27 v.currentTime = v.duration; 28 is(v.currentTime, v.duration, "currentTime must report seek target immediately"); 29 is(v.seeking, true, "seeking flag on start should be true"); 30 } 31 32 function seekStarted() { 33 if (completed) 34 return; 35 //is(v.currentTime, v.duration, "seeking: currentTime must be duration"); 36 ok(Math.abs(v.currentTime - v.duration) < 0.01, 37 "seeking: currentTime (" + v.currentTime + ") must be duration (" + v.duration + ")"); 38 } 39 40 function seekEnded() { 41 if (completed) 42 return; 43 //is(v.currentTime, v.duration, "seeked: currentTime must be duration"); 44 ok(Math.abs(v.currentTime - v.duration) < 0.01, 45 "seeked: currentTime (" + v.currentTime + ") must be duration (" + v.duration + ")"); 46 is(v.seeking, false, "seeking flag on end should be false"); 47 } 48 49 function playbackEnded() { 50 if (completed) 51 return; 52 completed = true; 53 //is(v.currentTime, v.duration, "ended: currentTime must be duration"); 54 ok(Math.abs(v.currentTime - v.duration) < 0.01, 55 "ended: currentTime (" + v.currentTime + ") must be duration (" + v.duration + ")"); 56 is(v.seeking, false, "seeking flag on end should be false"); 57 is(v.ended, true, "ended must be true"); 58 finish(); 59 } 60 61 v.addEventListener("loadedmetadata", startTest); 62 v.addEventListener("seeking", seekStarted); 63 v.addEventListener("seeked", seekEnded); 64 v.addEventListener("ended", playbackEnded); 65 } 66 67 manager.runTests(createTestArray(), startTest); 68 69 </script> 70 </pre> 71 </body> 72 </html>