test_bug495300.html (1769B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=495300 5 --> 6 7 <head> 8 <title>Bug 495300 - seeking to the end should behave as "ended"</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 11 <script type="text/javascript" src="manifest.js"></script> 12 </head> 13 <body> 14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=495300">Mozilla Bug 495300</a> 15 <pre id="test"> 16 <script class="testbody" type="text/javascript"> 17 18 var manager = new MediaTestManager; 19 20 function filename(uri) { 21 return uri.substr(uri.lastIndexOf("/")+1); 22 } 23 24 function mediaEnded(event) { 25 ok(true, "Got expected 'ended' event: " + filename(event.target.currentSrc)); 26 27 if (event.target._expectedDuration) 28 ok(Math.abs(event.target.currentTime - event.target._expectedDuration) < 0.1, 29 "currentTime equals duration: " + filename(event.target.currentSrc)); 30 31 event.target.removeEventListener("ended", mediaEnded); 32 manager.finished(event.target.token); 33 removeNodeAndSource(event.target); 34 } 35 36 function mediaLoadedmetadata(event) { 37 event.target.currentTime = event.target.duration; 38 event.target.removeEventListener("loadedmetadata", mediaLoadedmetadata); 39 } 40 41 function startTest(test, token) { 42 var elemType = /^audio/.test(test.type) ? "audio" : "video"; 43 var v1 = document.createElement(elemType); 44 v1.preload = "auto"; 45 46 v1.src = test.name; 47 if (test.duration) { 48 v1._expectedDuration = test.duration; 49 } 50 v1.addEventListener("loadedmetadata", mediaLoadedmetadata); 51 v1.addEventListener("ended", mediaEnded); 52 v1.load(); 53 54 v1.token = token; 55 manager.started(token); 56 } 57 58 manager.runTests(gSeekTests, startTest); 59 60 </script> 61 </pre> 62 </body> 63 </html>