tor-browser

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

test_play_promise_6.html (1390B)


      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  <script type="text/javascript" src="play_promise.js"></script>
      9 </head>
     10 <body>
     11 <pre id="test">
     12 
     13 <script>
     14 // Name: playSwitchToValidSrcAfterError
     15 // Case: invoke play() on an element which had its source changed (to a valid source) after suffering from an error
     16 // Expected result: resolve the promise with undefined
     17 
     18 let manager = new MediaTestManager;
     19 
     20 function initTest(test, token) {
     21  manager.started(token);
     22 
     23  let element = document.createElement(getMajorMimeType(test.type));
     24  element.src = getNotSupportedFile(test.name);
     25  once(element, "error").then(() => {
     26    ok(element.error.code == MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED);
     27    element.src = test.name;
     28    element.play().then(
     29      (result) => {
     30        if (result == undefined) {
     31          ok(true, `${token} is resolved with ${result}.`);
     32        } else {
     33          ok(false, `${token} is resolved with ${result}.`);
     34        }
     35      },
     36      (error) => {
     37        ok(false, `${token} is rejected with ${error.name}.`);
     38      }
     39    ).then( () => { manager.finished(token); } );
     40  });
     41 }
     42 
     43 manager.runTests(gSmallTests, initTest);
     44 
     45 </script>