tor-browser

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

test_mediarecorder_creation_fail.html (2186B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test MediaRecorder Record with media.ogg.enabled = false</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 function testThrows(stream, options, errorName, message, testName) {
     13  try {
     14    new MediaRecorder(stream, options);
     15  } catch(e) {
     16    is(e.name, errorName, testName);
     17    is(e.message, message, testName);
     18    return;
     19  }
     20  ok(!errorName, testName);
     21 }
     22 (async () => {
     23  SimpleTest.waitForExplicitFinish();
     24  await SpecialPowers.pushPrefEnv({set: [
     25      ["media.ogg.enabled", false],
     26      ["media.encoder.webm.enabled", false],
     27    ]});
     28  const stream = new AudioContext().createMediaStreamDestination().stream;
     29  testThrows(
     30    stream, {mimeType: "audio/ogg"}, "NotSupportedError",
     31    "MediaRecorder constructor: audio/ogg indicates an unsupported container",
     32    "Creating an ogg recorder without ogg support throws");
     33  testThrows(
     34    stream, {mimeType: "audio/webm"}, "NotSupportedError",
     35    "MediaRecorder constructor: audio/webm indicates an unsupported container",
     36    "Creating a webm recorder without webm support throws");
     37  testThrows(
     38    stream, {mimeType: "video/webm"}, "NotSupportedError",
     39    "MediaRecorder constructor: video/webm indicates an unsupported container",
     40    "Creating a webm recorder without webm support throws");
     41  testThrows(
     42    stream, {mimeType: "apa/bepa"}, "NotSupportedError",
     43    "MediaRecorder constructor: apa/bepa is not a valid media type",
     44    "Creating a recorder for a bogus mime type throws");
     45  testThrows(
     46    stream, {}, null, null,
     47    "Creating a default recorder never throws, even without container support");
     48  const recorder = new MediaRecorder(stream);
     49  try {
     50    recorder.start();
     51    ok(false, "Starting a recorder without container support should throw");
     52  } catch(e) {
     53    is(e.name, "NotSupportedError",
     54      "Starting a recorder without container support throws");
     55  }
     56  SimpleTest.finish();
     57 })();
     58 </script>
     59 </pre>
     60 </body>
     61 </html>