tor-browser

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

test_play_promise_17.html (1285B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Media test: promise-based 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 // Name: loadAlgorithmRejectOrdering
     14 // Case: invoke load() on an element should reject pending promises in order.
     15 // Expected result: the pending promises are rejected in order.
     16 
     17 let manager = new MediaTestManager;
     18 
     19 function initTest(test, token) {
     20  manager.started(token);
     21 
     22  let element = document.createElement(getMajorMimeType(test.type));
     23  let firstPromiseRejected = false;
     24 
     25  // play
     26  element.play().then(
     27    () => { ok(false,  `loadAlgorithmRejectOrdering(${token}) should not be resolved.`); },
     28    () => { firstPromiseRejected = true; }
     29  );
     30 
     31  // play again
     32  element.play().then(
     33    () => { ok(false,  `loadAlgorithmRejectOrdering(${token}) should not be resolved.`); },
     34    () => { ok(firstPromiseRejected, `loadAlgorithmRejectOrdering(${token}), the first play should already be rejected.`); }
     35  ).then( () => { manager.finished(token); } );
     36 
     37  // triger load
     38  element.src = test.name;
     39 }
     40 
     41 manager.runTests(gSmallTests, initTest);
     42 
     43 </script>