tor-browser

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

test_play_promise_5.html (1360B)


      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: playWithErrorAlreadySet
     15 // Case: invoke play() on an element with MEDIA_ERR_SRC_NOT_SUPPORTED has been set
     16 // Expected result: reject the promise with NotSupportedError DOM exception
     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.play().then(
     28      (result) => {
     29        ok(false, `${token} is resolved with ${result}.`);
     30      },
     31      (error) => {
     32        if (error.name == "NotSupportedError") {
     33          ok(true, `${token} is rejected with ${error.name}.`);
     34        } else {
     35          ok(false, `${token} is rejected with ${error.name}.`);
     36        }
     37      }
     38    ).then( () => { manager.finished(token); } );
     39  });
     40 }
     41 
     42 manager.runTests(gSmallTests, initTest);
     43 
     44 </script>