tor-browser

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

test_play_events.html (1485B)


      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>
     10 <pre id="test">
     11 
     12 <script>
     13 
     14 var manager = new MediaTestManager;
     15 
     16 var tokens = {
     17  0:                ["play"],
     18  "play":           ["canplay"],
     19  "canplay":        ["playing"],
     20  "playing":        ["canplay", "canplaythrough"],
     21  "canplaythrough": ["canplay", "canplaythrough"]
     22 };
     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 + " at " + v._state + " for " + v.src +
     28     " tokens["+v._state+"]=" + tokens[v._state] +
     29     " tokens["+v._state+"].indexOf(event.type)=" + tokens[v._state].indexOf(event.type));
     30  v._state = event.type;
     31 }
     32 
     33 function ended(event) {
     34  var v = event.target;
     35  removeNodeAndSource(v);
     36  manager.finished(v.token);
     37 }
     38 
     39 function initTest(test, token) {
     40  var v = document.createElement('video');
     41  v.token = token;
     42  manager.started(token);
     43  v._state = 0;
     44 
     45  ["play", "canplay", "playing", "canplaythrough"].forEach(function (e) {
     46    v.addEventListener(e, gotPlayEvent);
     47  });
     48 
     49  v.addEventListener("ended", ended);
     50 
     51  v.src = test.name;
     52  document.body.appendChild(v); // Causes load.
     53  v.play();
     54 }
     55 
     56 manager.runTests(gSmallTests, initTest);
     57 
     58 </script>
     59 </pre>
     60 </body>
     61 </html>