tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>