tor-browser

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

test_seek_negative.html (2309B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Media test: seeking to a negative time with readyState HAVE_NOTHING</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 startTest(test, token) {
     16  var type = getMajorMimeType(test.type);
     17  var v = document.createElement(type);
     18  v.token = token;
     19  manager.started(token);
     20 
     21  // Seek to negative start time.
     22  v.currentTime = -123;
     23  is(v.readyState, v.HAVE_NOTHING, "readyState is HAVE_NOTHING");
     24  ok(!v.seeking, "can't be seeking prior src defined");
     25  is(v.currentTime, -123, "currentTime is original seek time");
     26 
     27  v.src = test.name;
     28 
     29  // Initialize running variables.
     30  v._name = test.name;
     31  v._seekStarted = false;
     32  v._seekCompleted = false;
     33  v._metadata = false;
     34 
     35  var events = [ "suspend", "play", "canplay", "canplaythrough", "loadstart",
     36                 "loadedmetadata", "loadeddata", "playing", "ended", "error",
     37                 "stalled", "emptied", "abort", "waiting", "pause" ];
     38  function logEvent(e) {
     39    var video = e.target;
     40    Log(e.target.token, "got " + e.type + " with currentTime = " + video.currentTime);
     41  }
     42  events.forEach(function(e) {
     43    v.addEventListener(e, logEvent);
     44  });
     45 
     46  once(v, "seeking", function() {
     47    v._seekStarted = true;
     48    ok(v.currentTime >= 0, "currentTime should be positive");
     49  });
     50  once(v, "seeked", function() {
     51    v._seekCompleted = true;
     52    ok(v.currentTime >= 0, "currentTime should be positive");
     53  });
     54  once(v, "loadedmetadata", function() {
     55    v._metadata = true;
     56    ok(v.seeking, "element is seeking once readyState is HAVE_METADATA");
     57    ok(v.currentTime >= 0, "currentTime should be positive");
     58  });
     59  once(v, "ended", function() {
     60    ok(v._seekStarted, "seek should have started");
     61    ok(v._seekCompleted, "seek should have completed");
     62    ok(v._metadata, "loadedmetadata fired");
     63    ok(v.currentTime >= 0, "currentTime should be positive");
     64    removeNodeAndSource(v);
     65    manager.finished(v.token);
     66  });
     67 
     68  v.play();
     69 }
     70 
     71 
     72 manager.runTests(gSmallTests, startTest);
     73 
     74 </script>
     75 </pre>
     76 </body>
     77 </html>