test_seekable1.html (1811B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test seekable member for media elements</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='application/javascript'> 12 13 let manager = new MediaTestManager; 14 15 function finish_test(element) { 16 if (element.parentNode) 17 element.remove(); 18 element.src=""; 19 manager.finished(element.token); 20 } 21 22 var tests = [ 23 // Test using a finite media stream, and a server supporting range requests 24 { 25 setup(element) { 26 is(element.seekable.length, 0, "seekable.length should be initialy 0."); 27 element.addEventListener("loadedmetadata", function() { 28 is(element.seekable.length, 1, "seekable.length should be 1 for a server supporting range requests."); 29 30 is(element.seekable.start(0), 0.0, "The start of the first range should be the initialTime."); 31 is(element.seekable.end(0), element.duration, "The end of the first range should be the duration.") 32 finish_test(element); 33 }); 34 } 35 } 36 ]; 37 38 function createTestArray() { 39 var A = []; 40 for (var k=0; k < gProgressTests.length; k++) { 41 var t = {}; 42 t.setup = tests[0].setup; 43 t.name = gProgressTests[k].name; 44 t.type = gProgressTests[k].type; 45 A.push(t); 46 } 47 return A; 48 } 49 50 function startTest(test, token) { 51 var elemType = getMajorMimeType(test.type); 52 var element = document.createElement(elemType); 53 element.preload = "auto"; 54 element.src = test.name; 55 element.token = token; 56 test.setup(element); 57 manager.started(token); 58 } 59 60 manager.runTests(createTestArray(), startTest); 61 62 </script> 63 </pre> 64 </body> 65 </html>