tor-browser

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

test_play_promise_7.html (1546B)


      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: playSwitchToInvalidSrcAfterError
     15 // Case: invoke play() on an element which had its source changed (to a invalid source) after suffering from an error
     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.src = getNotSupportedFile(test.name);
     28    ok(element.error == null);
     29    ok(element.readyState == HTMLMediaElement.HAVE_NOTHING);
     30    element.play().then(
     31      (result) => {
     32        ok(false, `${token} is resolved with ${result}.`);
     33      },
     34      (error) => {
     35        if (error.name == "NotSupportedError") {
     36          ok(true, `${token} is rejected with ${error.name}.`);
     37        } else {
     38          ok(false, `${token} is rejected with ${error.name}.`);
     39        }
     40      }
     41    ).then( () => { manager.finished(token); } );
     42  });
     43 }
     44 
     45 manager.runTests(gSmallTests, initTest);
     46 
     47 </script>