Bug 1295352 - Update mediaElementCapture tests to stop all tracks before finishing. r?jib draft
authorAndreas Pehrson <pehrsons@gmail.com>
Mon, 29 Aug 2016 16:37:16 +0200
changeset 407391 fd3a8cdfb95dd926d8f74424728714809704fd39
parent 406786 073c1c1d4f5c4b74b0170beaa0bcd9f1335a009f
child 407392 1f8498fc5d2a81db2f663ece4586279b58770797
push id27960
push userpehrsons@gmail.com
push dateTue, 30 Aug 2016 12:30:56 +0000
reviewersjib
bugs1295352
milestone51.0a1
Bug 1295352 - Update mediaElementCapture tests to stop all tracks before finishing. r?jib MozReview-Commit-ID: GnfFt1vIbig
dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_audio.html
dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_video.html
--- a/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_audio.html
+++ b/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_audio.html
@@ -99,17 +99,19 @@ runTest(() => getUserMedia({audio: true}
     is(gUMAudioElement.srcObject.getTracks().length, 1,
        "A track should have been removed");
 
     return analyser.waitForAnalysisSuccess(array =>
       array[analyser.binIndexForFrequency(50)]              < 50 &&
       array[analyser.binIndexForFrequency(TEST_AUDIO_FREQ)] < 50 &&
       array[analyser.binIndexForFrequency(1500)]            < 50 &&
       array[analyser.binIndexForFrequency(2000)]            > 200 &&
-      array[analyser.binIndexForFrequency(2500)]            < 50);
+      array[analyser.binIndexForFrequency(2500)]            < 50)
+        .then(() => [gUMTrack, ...gUMAudioElement.srcObject.getTracks()]
+            .forEach(t => t.stop()));
   })
   .then(() => ok(true, "Test passed."))
   .catch(e => ok(false, "Test failed: " + e + (e.stack ? "\n" + e.stack : ""))));
 
 </script>
 </pre>
 </body>
 </html>
--- a/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_video.html
+++ b/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_video.html
@@ -105,15 +105,18 @@ runTest(() => getUserMedia({video: true,
     return checkVideoPaused(captureStreamElement).then(() => track);
   })
   .then(track => {
     info("Video paused. Changing source by track manipulation. Add first.");
     gUMVideoElement.srcObject.addTrack(track);
     gUMVideoElement.play();
     return checkVideoPlaying(captureStreamElement);
   })
-  .then(() => ok(true, "Test passed."))
+  .then(() => {
+    gUMVideoElement.srcObject.getTracks().forEach(t => t.stop());
+    ok(true, "Test passed.");
+  })
   .catch(e => ok(false, "Test failed: " + e + (e.stack ? "\n" + e.stack : ""))));
 
 </script>
 </pre>
 </body>
 </html>