tor-browser

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

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>