test_fragment_noplay.html (5475B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Media test: fragment 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_noplay.js"></script> 9 </head> 10 <body> 11 <pre id="test"> 12 <script class="testbody" type="text/javascript"> 13 14 var manager = new MediaTestManager; 15 16 // Fragment parameters to try 17 var gFragmentParams = [ 18 // W3C Media fragment tests 19 // http://www.w3.org/2008/WebVideo/Fragments/TC/ua-test-cases 20 { fragment: "#t=banana", start: null, end: null }, // TC0027-UA 21 { fragment: "#t=3,banana", start: null, end: null }, // TC0028-UA 22 { fragment: "#t=banana,7", start: null, end: null }, // TC0029-UA 23 { fragment: "#t='3'", start: null, end: null }, // TC0030-UA 24 { fragment: "#t=3-7", start: null, end: null }, // TC0031-UA 25 { fragment: "#t=3:7", start: null, end: null }, // TC0032-UA 26 { fragment: "#t=3,7,9", start: null, end: null }, // TC0033-UA 27 { fragment: "#t%3D3", start: null, end: null }, // TC0034-UA 28 { fragment: "#%74=3", start: 3, end: null }, // TC0035-UA 29 { fragment: "#t=%33", start: 3, end: null }, // TC0036-UA 30 { fragment: "#t=3%2C7", start: 3, end: 7 }, // TC0037-UA 31 { fragment: "#t=%6Ept:3", start: 3, end: null }, // TC0038-UA 32 { fragment: "#t=npt%3A3", start: 3, end: null }, // TC0039-UA 33 { fragment: "#t=-1,3", start: null, end: null }, // TC0044-UA 34 { fragment: "#t=3&", start: 3, end: null }, // TC0051-UA 35 { fragment: "#u=12&t=3", start: 3, end: null }, // TC0052-UA 36 { fragment: "#t=foo:7&t=npt:3", start: 3, end: null }, // TC0053-UA 37 { fragment: "#&&=&=tom&jerry=&t=3&t=meow:0#", start: 3, end: null }, // TC0054-UA 38 { fragment: "#t=7&t=3", start: 3, end: null }, // TC0055-UA 39 { fragment: "#T=3,7", start: null, end: null }, // TC0058-UA 40 { fragment: "#t=", start: null, end: null }, // TC0061-UA 41 { fragment: "#t=.", start: null, end: null }, // TC0062-UA 42 { fragment: "#t=.0", start: null, end: null }, // TC0063-UA 43 { fragment: "#t=0s", start: null, end: null }, // TC0064-UA 44 { fragment: "#t=,0s", start: null, end: null }, // TC0065-UA 45 { fragment: "#t=0s,0s", start: null, end: null }, // TC0066-UA 46 { fragment: "#t=00:00:00s", start: null, end: null }, // TC0067-UA 47 { fragment: "#t=s", start: null, end: null }, // TC0068-UA 48 { fragment: "#t=npt:", start: null, end: null }, // TC0069-UA 49 { fragment: "#t=1e-1:", start: null, end: null }, // TC0070-UA 50 { fragment: "#t=00:00:01.1e-1", start: null, end: null }, // TC0071-UA 51 { fragment: "#t=3.", start: 3, end: null }, // TC0072-UA 52 { fragment: "#t=0:0:0", start: null, end: null }, // TC0073-UA 53 { fragment: "#t=0:00:60", start: null, end: null }, // TC0074-UA 54 { fragment: "#t=0:01:60", start: null, end: null }, // TC0075-UA 55 { fragment: "#t=0:60:00", start: null, end: null }, // TC0076-UA 56 { fragment: "#t=0:000:000", start: null, end: null }, // TC0077-UA 57 { fragment: "#t=00:00:03,00:00:07", start: 3, end: 7 }, // TC0078-UA 58 { fragment: "#t=3,00:00:07", start: 3, end: 7 }, // TC0079-UA 59 { fragment: "#t=00:00.", start: null, end: null }, // TC0080-UA 60 { fragment: "#t=0:00:00.", start: null, end: null }, // TC0081-UA 61 { fragment: "#t=0:00:10e-1", start: null, end: null }, // TC0082-UA 62 { fragment: "#t=0:00:60.000", start: null, end: null }, // TC0083-UA 63 { fragment: "#t=0:60:00.000", start: null, end: null }, // TC0084-UA 64 { fragment: "#t=3,7&t=foo", start: 3, end: 7 }, // TC0085-UA 65 { fragment: "#foo&t=3,7", start: 3, end: 7 }, // TC0086-UA 66 { fragment: "#t=3,7&foo", start: 3, end: 7 }, // TC0087-UA 67 { fragment: "#t=3,7&&", start: 3, end: 7 }, // TC0088-UA 68 { fragment: "#&t=3,7", start: 3, end: 7 }, // TC0089-UA 69 { fragment: "#&&t=3,7", start: 3, end: 7 }, // TC0090-UA 70 { fragment: "#&t=3,7&", start: 3, end: 7 }, // TC0091-UA 71 { fragment: "#t%3d10", start: null, end: null }, // TC0092-UA 72 { fragment: "#t=10%26", start: null, end: null }, // TC0093-UA 73 { fragment: "#&t=3,7,", start: null, end: null } // TC0094-UA 74 ]; 75 76 function createTestArray() { 77 var tests = []; 78 var tmpVid = document.createElement("video"); 79 80 for (var testNum=0; testNum<gFragmentTests.length; testNum++) { 81 var test = gFragmentTests[testNum]; 82 if (!tmpVid.canPlayType(test.type)) { 83 continue; 84 } 85 86 for (var fragNum=0; fragNum<gFragmentParams.length; fragNum++) { 87 var p = gFragmentParams[fragNum]; 88 var t = {}; 89 t.name = test.name + p.fragment; 90 t.type = test.type; 91 t.duration = test.duration; 92 t.start = p.start; 93 t.end = p.end; 94 tests.push(t); 95 } 96 } 97 return tests; 98 } 99 100 function startTest(test, token) { 101 var video = document.createElement('video'); 102 manager.started(token); 103 video.preload = "metadata"; 104 video.src = test.name; 105 video.token = token; 106 video.controls = true; 107 document.body.appendChild(video); 108 var name = test.name + " fragment test"; 109 var localIs = function(n) { return function(a, b, msg) { 110 is(a, b, n + ": " + msg); 111 }}(name); 112 var localOk = function(n) { return function(a, msg) { 113 ok(a, n + ": " + msg); 114 }}(name); 115 var localFinish = function(v, m) { return function() { 116 removeNodeAndSource(v); 117 m.finished(v.token); 118 }}(video, manager); 119 window.test_fragment_noplay(video, test.start, test.end, localIs, localOk, localFinish); 120 } 121 122 manager.runTests(createTestArray(), startTest); 123 124 </script> 125 </pre> 126 </body> 127 </html>