diff options
Diffstat (limited to '')
-rw-r--r-- | dom/media/test/test_mediarecorder_creation_fail.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/media/test/test_mediarecorder_creation_fail.html b/dom/media/test/test_mediarecorder_creation_fail.html new file mode 100644 index 0000000000..2630f069b0 --- /dev/null +++ b/dom/media/test/test_mediarecorder_creation_fail.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test MediaRecorder Record with media.ogg.enabled = false</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> + <script type="text/javascript" src="manifest.js"></script> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> +function testThrows(stream, options, errorName, message, testName) { + try { + new MediaRecorder(stream, options); + } catch(e) { + is(e.name, errorName, testName); + is(e.message, message, testName); + return; + } + ok(!errorName, testName); +} +(async () => { + SimpleTest.waitForExplicitFinish(); + await SpecialPowers.pushPrefEnv({set: [ + ["media.ogg.enabled", false], + ["media.encoder.webm.enabled", false], + ]}); + const stream = new AudioContext().createMediaStreamDestination().stream; + testThrows( + stream, {mimeType: "audio/ogg"}, "NotSupportedError", + "MediaRecorder constructor: audio/ogg indicates an unsupported container", + "Creating an ogg recorder without ogg support throws"); + testThrows( + stream, {mimeType: "audio/webm"}, "NotSupportedError", + "MediaRecorder constructor: audio/webm indicates an unsupported container", + "Creating a webm recorder without webm support throws"); + testThrows( + stream, {mimeType: "video/webm"}, "NotSupportedError", + "MediaRecorder constructor: video/webm indicates an unsupported container", + "Creating a webm recorder without webm support throws"); + testThrows( + stream, {mimeType: "apa/bepa"}, "NotSupportedError", + "MediaRecorder constructor: apa/bepa is not a valid media type", + "Creating a recorder for a bogus mime type throws"); + testThrows( + stream, {}, null, null, + "Creating a default recorder never throws, even without container support"); + const recorder = new MediaRecorder(stream); + try { + recorder.start(); + ok(false, "Starting a recorder without container support should throw"); + } catch(e) { + is(e.name, "NotSupportedError", + "Starting a recorder without container support throws"); + } + SimpleTest.finish(); +})(); +</script> +</pre> +</body> +</html> |