1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_fragment_noplay.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,130 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Media test: fragment tests</title> 1.8 + <script type="text/javascript" src="/MochiKit/packed.js"></script> 1.9 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.10 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.11 + <script type="text/javascript" src="manifest.js"></script> 1.12 + <script type="text/javascript" src="fragment_noplay.js"></script> 1.13 +</head> 1.14 +<body> 1.15 +<pre id="test"> 1.16 +<script class="testbody" type="text/javascript"> 1.17 + 1.18 +var manager = new MediaTestManager; 1.19 + 1.20 +// Fragment parameters to try 1.21 +var gFragmentParams = [ 1.22 + // W3C Media fragment tests 1.23 + // http://www.w3.org/2008/WebVideo/Fragments/TC/ua-test-cases 1.24 + { fragment: "#t=banana", start: null, end: null }, // TC0027-UA 1.25 + { fragment: "#t=3,banana", start: null, end: null }, // TC0028-UA 1.26 + { fragment: "#t=banana,7", start: null, end: null }, // TC0029-UA 1.27 + { fragment: "#t='3'", start: null, end: null }, // TC0030-UA 1.28 + { fragment: "#t=3-7", start: null, end: null }, // TC0031-UA 1.29 + { fragment: "#t=3:7", start: null, end: null }, // TC0032-UA 1.30 + { fragment: "#t=3,7,9", start: null, end: null }, // TC0033-UA 1.31 + { fragment: "#t%3D3", start: null, end: null }, // TC0034-UA 1.32 + { fragment: "#%74=3", start: 3, end: null }, // TC0035-UA 1.33 + { fragment: "#t=%33", start: 3, end: null }, // TC0036-UA 1.34 + { fragment: "#t=3%2C7", start: 3, end: 7 }, // TC0037-UA 1.35 + { fragment: "#t=%6Ept:3", start: 3, end: null }, // TC0038-UA 1.36 + { fragment: "#t=npt%3A3", start: 3, end: null }, // TC0039-UA 1.37 + { fragment: "#t=-1,3", start: null, end: null }, // TC0044-UA 1.38 + { fragment: "#t=3&", start: 3, end: null }, // TC0051-UA 1.39 + { fragment: "#u=12&t=3", start: 3, end: null }, // TC0052-UA 1.40 + { fragment: "#t=foo:7&t=npt:3", start: 3, end: null }, // TC0053-UA 1.41 + { fragment: "#&&=&=tom&jerry=&t=3&t=meow:0#", start: 3, end: null }, // TC0054-UA 1.42 + { fragment: "#t=7&t=3", start: 3, end: null }, // TC0055-UA 1.43 + { fragment: "#T=3,7", start: null, end: null }, // TC0058-UA 1.44 + { fragment: "#t=", start: null, end: null }, // TC0061-UA 1.45 + { fragment: "#t=.", start: null, end: null }, // TC0062-UA 1.46 + { fragment: "#t=.0", start: null, end: null }, // TC0063-UA 1.47 + { fragment: "#t=0s", start: null, end: null }, // TC0064-UA 1.48 + { fragment: "#t=,0s", start: null, end: null }, // TC0065-UA 1.49 + { fragment: "#t=0s,0s", start: null, end: null }, // TC0066-UA 1.50 + { fragment: "#t=00:00:00s", start: null, end: null }, // TC0067-UA 1.51 + { fragment: "#t=s", start: null, end: null }, // TC0068-UA 1.52 + { fragment: "#t=npt:", start: null, end: null }, // TC0069-UA 1.53 + { fragment: "#t=1e-1:", start: null, end: null }, // TC0070-UA 1.54 + { fragment: "#t=00:00:01.1e-1", start: null, end: null }, // TC0071-UA 1.55 + { fragment: "#t=3.", start: 3, end: null }, // TC0072-UA 1.56 + { fragment: "#t=0:0:0", start: null, end: null }, // TC0073-UA 1.57 + { fragment: "#t=0:00:60", start: null, end: null }, // TC0074-UA 1.58 + { fragment: "#t=0:01:60", start: null, end: null }, // TC0075-UA 1.59 + { fragment: "#t=0:60:00", start: null, end: null }, // TC0076-UA 1.60 + { fragment: "#t=0:000:000", start: null, end: null }, // TC0077-UA 1.61 + { fragment: "#t=00:00:03,00:00:07", start: 3, end: 7 }, // TC0078-UA 1.62 + { fragment: "#t=3,00:00:07", start: 3, end: 7 }, // TC0079-UA 1.63 + { fragment: "#t=00:00.", start: null, end: null }, // TC0080-UA 1.64 + { fragment: "#t=0:00:00.", start: null, end: null }, // TC0081-UA 1.65 + { fragment: "#t=0:00:10e-1", start: null, end: null }, // TC0082-UA 1.66 + { fragment: "#t=0:00:60.000", start: null, end: null }, // TC0083-UA 1.67 + { fragment: "#t=0:60:00.000", start: null, end: null }, // TC0084-UA 1.68 + { fragment: "#t=3,7&t=foo", start: 3, end: 7 }, // TC0085-UA 1.69 + { fragment: "#foo&t=3,7", start: 3, end: 7 }, // TC0086-UA 1.70 + { fragment: "#t=3,7&foo", start: 3, end: 7 }, // TC0087-UA 1.71 + { fragment: "#t=3,7&&", start: 3, end: 7 }, // TC0088-UA 1.72 + { fragment: "#&t=3,7", start: 3, end: 7 }, // TC0089-UA 1.73 + { fragment: "#&&t=3,7", start: 3, end: 7 }, // TC0090-UA 1.74 + { fragment: "#&t=3,7&", start: 3, end: 7 }, // TC0091-UA 1.75 + { fragment: "#t%3d10", start: null, end: null }, // TC0092-UA 1.76 + { fragment: "#t=10%26", start: null, end: null }, // TC0093-UA 1.77 + { fragment: "#&t=3,7,", start: null, end: null } // TC0094-UA 1.78 +]; 1.79 + 1.80 +function createTestArray() { 1.81 + var tests = []; 1.82 + var tmpVid = document.createElement("video"); 1.83 + 1.84 + for (var testNum=0; testNum<gFragmentTests.length; testNum++) { 1.85 + var test = gFragmentTests[testNum]; 1.86 + if (!tmpVid.canPlayType(test.type)) { 1.87 + continue; 1.88 + } 1.89 + 1.90 + for (var fragNum=0; fragNum<gFragmentParams.length; fragNum++) { 1.91 + var p = gFragmentParams[fragNum]; 1.92 + var t = new Object; 1.93 + t.name = test.name + p.fragment; 1.94 + t.type = test.type; 1.95 + t.duration = test.duration; 1.96 + t.start = p.start; 1.97 + t.end = p.end; 1.98 + tests.push(t); 1.99 + } 1.100 + } 1.101 + return tests; 1.102 +} 1.103 + 1.104 +function startTest(test, token) { 1.105 + var v = document.createElement('video'); 1.106 + manager.started(token); 1.107 + v.preload = "metadata"; 1.108 + v.src = test.name; 1.109 + v.token = token; 1.110 + v.controls = true; 1.111 + document.body.appendChild(v); 1.112 + var name = test.name + " fragment test"; 1.113 + var localIs = function(name) { return function(a, b, msg) { 1.114 + is(a, b, name + ": " + msg); 1.115 + }}(name); 1.116 + var localOk = function(name) { return function(a, msg) { 1.117 + ok(a, name + ": " + msg); 1.118 + }}(name); 1.119 + var localFinish = function(v, manager) { return function() { 1.120 + if (v.parentNode) { 1.121 + v.parentNode.removeChild(v); 1.122 + } 1.123 + manager.finished(v.token); 1.124 + }}(v, manager); 1.125 + window['test_fragment_noplay'](v, test.start, test.end, localIs, localOk, localFinish); 1.126 +} 1.127 + 1.128 +manager.runTests(createTestArray(), startTest); 1.129 + 1.130 +</script> 1.131 +</pre> 1.132 +</body> 1.133 +</html>