test_bug1242338.html (1676B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test Bug 1242338</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 </head> 9 <body> 10 <pre id="test"> 11 <script class="testbody" type="text/javascript"> 12 13 var manager = new MediaTestManager; 14 15 function startTest(test, token) { 16 var video = document.createElement('video'); 17 video.preload = "metadata"; 18 video.token = token; 19 20 var handler = { 21 "ontimeout": function() { 22 Log(token, "timed out"); 23 } 24 }; 25 manager.started(token, handler); 26 27 video.src = test.name; 28 video.name = test.name; 29 30 function finish() { 31 video.finished = true; 32 video.removeEventListener("loadedmetadata", onLoadedmetadata); 33 video.removeEventListener("ended", onEnded); 34 removeNodeAndSource(video); 35 manager.finished(video.token); 36 } 37 38 function onLoadedmetadata() { 39 // seek to the media's duration 40 var duration = video.duration; 41 console.log("onloadedmetadata(), duration = " + duration); 42 video.currentTime = duration; 43 } 44 45 function onEnded() { 46 ok(video.ended, test.name + " checking playback has ended"); 47 ok(!video.finished, test.name + " shouldn't be finished"); 48 ok(!video.seenEnded, test.name + " shouldn't be ended"); 49 video.seenEnded = true; 50 51 ok(true, "Seeking to the duration triggers ended event"); 52 finish(); 53 } 54 55 video.addEventListener("loadedmetadata", onLoadedmetadata); 56 video.addEventListener("ended", onEnded); 57 58 document.body.appendChild(video); 59 } 60 61 manager.runTests(gSeekTests, startTest); 62 63 </script> 64 </pre> 65 </body> 66 </html>