tor-browser

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

test_mediatrack_parsing_ogg.html (2570B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test events of media track interfaces</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 </head>
      9 <body>
     10 <pre id="test">
     11 <script class="testbody" type="text/javascript">
     12 
     13 var manager = new MediaTestManager;
     14 
     15 function localCheckMetadata(msg, e) {
     16  ok(msg in gOggTrackInfoResults, "File: " + msg + " is in pre-parsed gOggTrackInfoResults list");
     17  var r = gOggTrackInfoResults[msg];
     18 
     19  var hasExpectedAudio = r && r.hasOwnProperty("audio_id");
     20  var hasExpectedVideo = r && r.hasOwnProperty("video_id");
     21 
     22  var hasParsedAudio = e.audioTracks.length >= 1;
     23  var hasParsedVideo = e.videoTracks.length >= 1;
     24 
     25  ok(!(hasExpectedAudio ^ hasParsedAudio), "Check availability of expected/parsed audio");
     26  ok(!(hasExpectedVideo ^ hasParsedVideo), "Check availability of expected/parsed video");
     27  if (hasParsedAudio) {
     28    is(e.audioTracks.length, 1, "The length of audio track should be 1");
     29    is(e.audioTracks[0].id, r.audio_id, "File: " + msg + ", Audio track id");
     30    is(e.audioTracks[0].kind, r.audio_kind, "File: " + msg + ", Audio track kind");
     31    is(e.audioTracks[0].language, r.audio_language, "File: " + msg + ", Audio track language");
     32    is(e.audioTracks[0].label, r.audio_label, "File: " + msg + ", Audio track label");
     33  }
     34  if (hasParsedVideo) {
     35    is(e.videoTracks.length, 1, "The length of video track should be 1");
     36    is(e.videoTracks[0].id, r.video_id, "File: " + msg + ", Video track id");
     37    is(e.videoTracks[0].kind, r.video_kind, "File: " + msg + ", Video track kind");
     38    is(e.videoTracks[0].language, r.video_language, "File: " + msg + ", Video track language");
     39    is(e.videoTracks[0].label, r.video_label, "File: " + msg + ", Video track label");
     40  }
     41 }
     42 
     43 function startTest(test, token) {
     44  var v = document.createElement('video');
     45  v.preload = "metadata";
     46  v.token = token;
     47  manager.started(token);
     48 
     49  v.src = test.name;
     50  v.name = test.name;
     51 
     52  v.onloadedmetadata = function(evt) {
     53    localCheckMetadata(evt.target.name, evt.target);
     54    evt.target.finished = true;
     55    evt.target.onloadedmetadata = null;
     56    removeNodeAndSource(evt.target);
     57    manager.finished(evt.target.token);
     58  };
     59 
     60  document.body.appendChild(v);
     61 }
     62 
     63 SimpleTest.waitForExplicitFinish();
     64 SpecialPowers.pushPrefEnv({"set": [["media.track.enabled", true]]},
     65  function() {
     66  	manager.runTests(gMultitrackInfoOggPlayList, startTest);
     67  }
     68 );
     69 </script>
     70 </pre>
     71 </body>
     72 </html>