test_seek-1.html (2206B)
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 = 1; 19 20 function test_seek1(v, seekTime, is, ok, finish) { 21 22 var startPassed = false; 23 var endPassed = false; 24 var seekFlagStart = false; 25 var seekFlagEnd = false; 26 var readonly = true; 27 var completed = false; 28 29 function startTest() { 30 ok(!completed, "Should not be completed yet"); 31 ok(!v.seeking, "seeking should default to false"); 32 try { 33 v.seeking = true; 34 readonly = v.seeking === false; 35 } 36 catch(e) { 37 readonly = "threw exception: " + e; 38 } 39 is(readonly, true, "seeking should be readonly"); 40 41 v.currentTime = seekTime; 42 seekFlagStart = v.seeking; 43 } 44 45 function seekStarted() { 46 ok(!completed, "should not be completed yet"); 47 ok(Math.abs(v.currentTime - seekTime) < 0.1, 48 "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeking)"); 49 startPassed = true; 50 } 51 52 function seekEnded() { 53 ok(!completed, "shuld not be completed yet"); 54 ok(Math.abs(v.currentTime - seekTime) < 0.1, 55 "Video currentTime should be around " + seekTime + ": " + v.currentTime + " (seeked)"); 56 endPassed = true; 57 seekFlagEnd = v.seeking; 58 v.play(); 59 } 60 61 function playbackEnded() { 62 ok(!completed, "should not be completed yet"); 63 64 completed = true; 65 ok(startPassed, "seeking event"); 66 ok(endPassed, "seeked event"); 67 ok(seekFlagStart, "seeking flag on start should be true"); 68 ok(!seekFlagEnd, "seeking flag on end should be false"); 69 finish(); 70 } 71 72 once(v, "ended", playbackEnded); 73 once(v, "loadedmetadata", startTest); 74 once(v, "seeking", seekStarted); 75 once(v, "seeked", seekEnded); 76 77 } 78 79 manager.runTests(createTestArray(), startTest); 80 81 </script> 82 </pre> 83 </body> 84 </html>