diff options
Diffstat (limited to 'dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html')
-rw-r--r-- | dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html b/dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html new file mode 100644 index 0000000000..54142aeb77 --- /dev/null +++ b/dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html @@ -0,0 +1,42 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="mediaStreamPlayback.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + title: "getUserMedia with Cubeb Disabled Test", + bug: "1443525" + }); + /** + * Run a test to verify we fail gracefully if we cannot fetch a cubeb context + * during a gUM call. + */ + runTest(async function () { + info("Get user media with cubeb disabled starting"); + // Push prefs to ensure no cubeb context and no fake streams. + await pushPrefs(["media.cubeb.force_null_context", true], + ["media.navigator.permission.device", false], + ["media.navigator.streams.fake", false]); + + // Request audio only, to avoid cams + let constraints = {audio: true, video: false}; + let stream; + try { + stream = await getUserMedia(constraints); + } catch (e) { + // We've got no audio backend, so we expect gUM to fail. + ok(e.name == "NotFoundError", "Expected NotFoundError due to no audio tracks!"); + return; + } + // If we're not on android we should not have gotten a stream without a cubeb context! + ok(false, "getUserMedia not expected to succeed when cubeb is disabled, but it did!"); + }); + + +</script> +</pre> +</body> +</html> |