tor-browser

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

test_autoplay_contentEditable.html (1630B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Media test: play() method</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 contenteditable="true">
     10 <pre id="test">
     11 
     12 <script>
     13 /* import-globals-from ../../../test/manifest.js */
     14 var manager = new MediaTestManager;
     15 
     16 var tokens = {
     17  0:                ["canplay"],
     18  "canplay":        ["canplay", "canplaythrough"],
     19  "canplaythrough": ["canplay", "canplaythrough"]
     20 };
     21 
     22 var eventList = ["play", "canplay", "playing", "canplaythrough", "ended"];
     23 
     24 function gotPlayEvent(event) {
     25  var v = event.target;
     26  ok(tokens[v._state].includes(event.type),
     27     "Check expected event got " + event.type +
     28     " at " + v._state + " for " + v._name);
     29  v._state = event.type;
     30  if (event.type == 'canplaythrough') {
     31    // Remove all event listeners to avoid running tests after finishing test case.
     32    eventList.forEach(function (e) {
     33      v.removeEventListener(e, gotPlayEvent);
     34    });
     35    v.pause();
     36    goToNext(v);
     37  }
     38 }
     39 
     40 function goToNext(v) {
     41  v.remove();
     42  manager.finished(v.token);
     43 }
     44 
     45 function initTest(test, token) {
     46  var v = document.createElement('video');
     47  v.preload = "metadata";
     48  v.token = token;
     49  manager.started(token);
     50  v._state = 0;
     51 
     52  eventList.forEach(function (e) {
     53    v.addEventListener(e, gotPlayEvent);
     54  });
     55 
     56  v.src = test.name;
     57  v._name = test.name;
     58  v.autoplay = true;
     59  document.body.appendChild(v); // Causes load.
     60 }
     61 
     62 manager.runTests(gSmallTests, initTest);
     63 
     64 </script>
     65 </pre>
     66 </body>
     67 </html>