test_fragment_play.html (2839B)
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="fragment_play.js"></script> 9 </head> 10 <body> 11 <pre id="test"> 12 <script class="testbody" type="text/javascript"> 13 PARALLEL_TESTS = 1; 14 var manager = new MediaTestManager; 15 16 // Fragment parameters to try. These tests 17 // try playing the video. Tests for other fragment 18 // formats are in test_fragment_noplay.html. 19 var gFragmentParams = [ 20 { fragment: "", start: null, end: null }, 21 { fragment: "#t=,", start: null, end: null }, 22 { fragment: "#t=3,3", start: null, end: null }, 23 { fragment: "#t=7,3", start: null, end: null }, 24 { fragment: "#t=7,15", start: 7, end: null }, 25 { fragment: "#t=15,20", start: 9.287982, end: null }, 26 { fragment: "#t=5", start: 5, end: null }, 27 { fragment: "#t=5.5", start: 5.5, end: null }, 28 { fragment: "#t=5,", start: null, end: null }, 29 { fragment: "#t=,5", start: 0, end: 5, todo: "See bugs 682141 and 720248" }, 30 { fragment: "#t=2.5,5.5", start: 2.5, end: 5.5, todo: "See bugs 682141 and 720248" }, 31 { fragment: "#t=1,2.5", start: 1, end: 2.5, todo: "See bugs 682141 and 720248" }, 32 { fragment: "#t=,15", start: 0, end: null } 33 ]; 34 35 function createTestArray() { 36 var tests = []; 37 var tmpVid = document.createElement("video"); 38 39 for (var testNum=0; testNum<gFragmentTests.length; testNum++) { 40 var test = gFragmentTests[testNum]; 41 if (!tmpVid.canPlayType(test.type)) { 42 continue; 43 } 44 45 for (var fragNum=0; fragNum<gFragmentParams.length; fragNum++) { 46 var p = gFragmentParams[fragNum]; 47 var t = {}; 48 t.name = test.name + p.fragment; 49 t.type = test.type; 50 t.duration = test.duration; 51 t.start = p.start; 52 t.end = p.end; 53 t.todo = p.todo; 54 tests.push(t); 55 } 56 } 57 return tests; 58 } 59 60 function startTest(test, token) { 61 if (test.todo) { 62 todo(false, test.todo); 63 return; 64 } 65 var video = document.createElement('video'); 66 manager.started(token); 67 video.preload = "metadata"; 68 video.src = test.name; 69 video.token = token; 70 video.controls = true; 71 document.body.appendChild(video); 72 var name = test.name + " fragment test"; 73 var localIs = function(n) { return function(a, b, msg) { 74 is(a, b, n + ": " + msg); 75 }}(name); 76 var localOk = function(n) { return function(a, msg) { 77 ok(a, n + ": " + msg); 78 }}(name); 79 var localFinish = function(v, m) { return function() { 80 removeNodeAndSource(v); 81 m.finished(v.token); 82 }}(video, manager); 83 window.test_fragment_play(video, test.start, test.end, localIs, localOk, localFinish); 84 } 85 86 manager.runTests(createTestArray(), startTest); 87 88 </script> 89 </pre> 90 </body> 91 </html>