tor-browser

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

test_media_sniffer.html (1895B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Media test: sniffing</title>
      5  <meta charset='utf-8'>
      6  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      7  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      8  <script type="text/javascript" src="manifest.js"></script>
      9 </head>
     10 <body>
     11 <pre id="test">
     12 <script class="testbody" type="text/javascript">
     13 var manager = new MediaTestManager;
     14 
     15 function finish_test(element) {
     16  element.removeEventListener("error", onerror);
     17  removeNodeAndSource(element);
     18  manager.finished(element.token);
     19 }
     20 
     21 function onmetadataloaded(e) {
     22  var t = e.target;
     23  ++t.srcIndex;
     24  ok(true, "The media loads when loaded via " + t.src);
     25  if (t.srcIndex < t.srcList.length) {
     26    t.src = t.srcList[t.srcIndex];
     27  } else {
     28    finish_test(t);
     29  }
     30 }
     31 
     32 function onerror(e) {
     33  var t = e.target;
     34  t.removeEventListener('error', onerror);
     35  ok(false, "The media could not be loaded." + t.src + "\n");
     36  finish_test(t);
     37 }
     38 
     39 function startTest(test, token) {
     40  var elemType = /^audio/.test(test.type) ? "audio" : "video";
     41  var element = document.createElement(elemType);
     42  // This .sjs file serve the media file without Content-Type header, or with a
     43  // specific Content-Type header.
     44  var baseSrc = 'contentType.sjs?file=' + test.name;
     45  element.srcList = [
     46    baseSrc + "&nomime",
     47    baseSrc + "&type=application/octet-stream",
     48    baseSrc + "&type=audio/wav",
     49    baseSrc + "&type=text/html",
     50    baseSrc + "&type=absolute_nonsense"
     51  ];
     52  element.srcIndex = 0;
     53  element.src = element.srcList[element.srcIndex];
     54  element.token = token;
     55  element.controls = true;
     56  element.preload = "metadata";
     57  document.body.appendChild(element);
     58  manager.started(token);
     59  element.addEventListener("loadedmetadata", onmetadataloaded);
     60  element.addEventListener("error", onerror);
     61 }
     62 
     63 manager.runTests(gSnifferTests, startTest);
     64 </script>
     65 </pre>
     66 </body>
     67 </html>