diff --git a/dom/media/tests/mochitest/test_peerConnection_addSecondVideoStream.html b/dom/media/tests/mochitest/test_peerConnection_addSecondVideoStream.html index ebe7d46b1725..245cde5a064d 100644 --- a/dom/media/tests/mochitest/test_peerConnection_addSecondVideoStream.html +++ b/dom/media/tests/mochitest/test_peerConnection_addSecondVideoStream.html @@ -2,6 +2,7 @@ +
@@ -11,21 +12,30 @@
     title: "Renegotiation: add second video stream"
   });
 
-  var test;
   runNetworkTest(function (options) {
-    test = new PeerConnectionTest(options);
+    const test = new PeerConnectionTest(options);
     addRenegotiation(test.chain,
       [
         function PC_LOCAL_ADD_SECOND_STREAM(test) {
           test.setMediaConstraints([{video: true}, {video: true}],
                                    [{video: true}]);
-          return test.pcLocal.getAllUserMedia([{video: true}]);
+          // Use fake:true here since the native fake device on linux doesn't
+          // change color as needed by checkVideoPlaying() below.
+          return test.pcLocal.getAllUserMedia([{video: true, fake: true}]);
+        },
+      ],
+      [
+        function PC_REMOTE_CHECK_VIDEO_FLOW(test) {
+          const h = new VideoStreamHelper();
+          is(test.pcRemote.remoteMediaElements.length, 2,
+             "Should have two remote media elements after renegotiation");
+          return Promise.all(test.pcRemote.remoteMediaElements.map(video =>
+            h.checkVideoPlaying(video, 10, 10, 16)));
         },
       ]
     );
 
-    // TODO(bug 1093835): figure out how to verify if media flows through the new stream
-    test.setMediaConstraints([{video: true}], [{video: true}]);
+    test.setMediaConstraints([{video: true, fake: true}], [{video: true}]);
     test.run();
   });