Bug 1425873 - Part 1: Add test-case for trackless stream. r+jib draft
authorByron Campen [:bwc] <docfaraday@gmail.com>
Mon, 18 Dec 2017 11:08:16 -0600
changeset 712770 fb1150ad95570a495c525b8da5a285db87bd9bf7
parent 712645 5572465c08a9ce0671dcd01c721f9356fcd53a65
child 712771 f43904f5f934ef9132f3091135847d38af837c0b
push id93424
push userbcampen@mozilla.com
push dateMon, 18 Dec 2017 19:00:47 +0000
bugs1425873
milestone59.0a1
Bug 1425873 - Part 1: Add test-case for trackless stream. r+jib MozReview-Commit-ID: 2e0WwDgwLef
dom/media/tests/mochitest/test_peerConnection_transceivers.html
--- a/dom/media/tests/mochitest/test_peerConnection_transceivers.html
+++ b/dom/media/tests/mochitest/test_peerConnection_transceivers.html
@@ -791,16 +791,38 @@
     await iceConnected(pc1);
     await iceConnected(pc2);
 
     pc1.close();
     pc2.close();
     stopTracks(stream);
   };
 
+  let checkSendrecvWithTracklessStream = async () => {
+    let pc1 = new RTCPeerConnection();
+    let pc2 = new RTCPeerConnection();
+
+    let stream = new MediaStream();
+    pc1.addTransceiver("audio", {streams: [stream]});
+
+    let offer = await pc1.createOffer();
+
+    let trackEvents = await setRemoteDescriptionReturnTrackEvents(pc2, offer);
+    hasProps(trackEvents,
+      [
+        {
+          track: pc2.getTransceivers()[0].receiver.track,
+          streams: [{id: stream.id}]
+        }
+      ]);
+
+    pc1.close();
+    pc2.close();
+  };
+
   let checkMute = async () => {
     let pc1 = new RTCPeerConnection();
     let stream1 = await getUserMedia({audio: true, video: true});
     let audio1 = stream1.getAudioTracks()[0];
     pc1.addTrack(audio1, stream1);
     let countMuteAudio1 = countEvents(pc1.getTransceivers()[0].receiver.track, "mute");
     let countUnmuteAudio1 = countEvents(pc1.getTransceivers()[0].receiver.track, "unmute");
 
@@ -1822,16 +1844,17 @@
     await checkAddTransceiverWithOfferToReceive(["video"]);
     await checkAddTransceiverWithOfferToReceive(["audio", "video"]);
     await checkAddTransceiverWithSetRemoteOfferSending();
     await checkAddTransceiverWithSetRemoteOfferNoSend();
     await checkAddTransceiverBadKind();
     await checkSetDirection();
     await checkCurrentDirection();
     await checkSendrecvWithNoSendTrack();
+    await checkSendrecvWithTracklessStream();
     await checkAddTransceiverNoTrackDoesntPair();
     await checkAddTransceiverWithTrackDoesntPair();
     await checkAddTransceiverThenReplaceTrackDoesntPair();
     await checkAddTransceiverThenAddTrackPairs();
     await checkAddTrackPairs();
     await checkReplaceTrackNullDoesntPreventPairing();
     await checkMute();
     await checkStop();