summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html')
-rw-r--r--dom/media/webrtc/tests/mochitests/test_getUserMedia_cubebDisabled.html42
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>