summaryrefslogtreecommitdiffstats
path: root/dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html')
-rw-r--r--dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html b/dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html
new file mode 100644
index 000000000..f8cecd9d9
--- /dev/null
+++ b/dom/media/tests/mochitest/test_getUserMedia_gumWithinGum.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <script type="application/javascript" src="mediaStreamPlayback.js"></script>
+</head>
+<body>
+<pre id="test">
+<script type="application/javascript">
+ createHTML({title: "getUserMedia within getUserMedia", bug: "822109" });
+ /**
+ * Run a test that we can complete a playback cycle for a video,
+ * then upon completion, do a playback cycle with audio, such that
+ * the audio gum call happens within the video gum call.
+ */
+ runTest(function () {
+ return getUserMedia({video: true})
+ .then(videoStream => {
+ var testVideo = createMediaElement('video', 'testVideo');
+ var videoPlayback = new LocalMediaStreamPlayback(testVideo,
+ videoStream);
+
+ return videoPlayback.playMedia(false)
+ .then(() => getUserMedia({audio: true}))
+ .then(audioStream => {
+ var testAudio = createMediaElement('audio', 'testAudio');
+ var audioPlayback = new LocalMediaStreamPlayback(testAudio,
+ audioStream);
+
+ return audioPlayback.playMedia(false)
+ .then(() => audioStream.stop());
+ })
+ .then(() => videoStream.stop());
+ });
+ });
+
+</script>
+</pre>
+</body>
+</html>