Bug 1208390 - Use MediaStream.getTrackById() in some existing tests. r?jib
MozReview-Commit-ID: 5Xy0Zmo2Ob2
--- a/dom/media/tests/mochitest/head.js
+++ b/dom/media/tests/mochitest/head.js
@@ -398,17 +398,17 @@ function checkMediaStreamTracks(constrai
* Check that a media stream contains exactly a set of media stream tracks.
*
* @param {MediaStream} mediaStream the media stream being checked
* @param {Array} tracks the tracks that should exist in mediaStream
* @param {String} [message] an optional message to pass to asserts
*/
function checkMediaStreamContains(mediaStream, tracks, message) {
message = message ? (message + ": ") : "";
- tracks.forEach(t => ok(mediaStream.getTracks().includes(t),
+ tracks.forEach(t => ok(mediaStream.getTrackById(t.id),
message + "MediaStream " + mediaStream.id +
" contains track " + t.id));
is(mediaStream.getTracks().length, tracks.length,
message + "MediaStream " + mediaStream.id + " contains no extra tracks");
}
function checkMediaStreamCloneAgainstOriginal(clone, original) {
isnot(clone.id.length, 0, "Stream clone should have an id string");
@@ -416,17 +416,17 @@ function checkMediaStreamCloneAgainstOri
"Stream clone should be different from the original");
isnot(clone.id, original.id,
"Stream clone's id should be different from the original's");
is(clone.getAudioTracks().length, original.getAudioTracks().length,
"All audio tracks should get cloned");
is(clone.getVideoTracks().length, original.getVideoTracks().length,
"All video tracks should get cloned");
original.getTracks()
- .forEach(t => ok(!clone.getTracks().includes(t),
+ .forEach(t => ok(!clone.getTrackById(t.id),
"The clone's tracks should be originals"));
}
function checkMediaStreamTrackCloneAgainstOriginal(clone, original) {
isnot(clone.id.length, 0,
"Track clone should have an id string");
isnot(clone, original,
"Track clone should be different from the original");
--- a/dom/media/tests/mochitest/pc.js
+++ b/dom/media/tests/mochitest/pc.js
@@ -1127,17 +1127,17 @@ PeerConnectionWrapper.prototype = {
is(observedKind, expectedKind,
"track id " + track.id + " was of kind " +
observedKind + ", which matches " + expectedKind);
observedTrackInfoById[track.id] = expectedTrackInfoById[track.id];
},
isTrackOnPC: function(track) {
return this._pc.getRemoteStreams().some(stream => {
- return stream.getTracks().some(pcTrack => pcTrack.id == track.id);
+ return !!stream.getTrackById(track.id);
});
},
allExpectedTracksAreObserved: function(expected, observed) {
return Object.keys(expected).every(trackId => observed[trackId]);
},
setupTrackEventHandler: function() {
@@ -1473,17 +1473,17 @@ PeerConnectionWrapper.prototype = {
* A promise that resolves when we're receiving the tone from |from|.
*/
checkReceivingToneFrom : function(audiocontext, from) {
var inputElem = from.localMediaElements[0];
// As input we use the stream of |from|'s first available audio sender.
var inputSenderTracks = from._pc.getSenders().map(sn => sn.track);
var inputAudioStream = from._pc.getLocalStreams()
- .find(s => s.getAudioTracks().some(t => inputSenderTracks.some(t2 => t == t2)));
+ .find(s => inputSenderTracks.some(t => t.kind == "audio" && !!s.getTrackById(t.id)));
var inputAnalyser = new AudioStreamAnalyser(audiocontext, inputAudioStream);
// It would have been nice to have a working getReceivers() here, but until
// we do, let's use what remote streams we have.
var outputAudioStream = this._pc.getRemoteStreams()
.find(s => s.getAudioTracks().length > 0);
var outputAnalyser = new AudioStreamAnalyser(audiocontext, outputAudioStream);
--- a/dom/media/tests/mochitest/test_peerConnection_promiseSendOnly.html
+++ b/dom/media/tests/mochitest/test_peerConnection_promiseSendOnly.html
@@ -18,17 +18,17 @@
var add = (pc, can, failed) => can && pc.addIceCandidate(can).catch(failed);
pc1.onicecandidate = e => add(pc2, e.candidate, generateErrorCallback());
pc2.onicecandidate = e => add(pc1, e.candidate, generateErrorCallback());
var v1, v2;
var delivered = new Promise(resolve => pc2.ontrack = e => {
// Test RTCTrackEvent here.
ok(e.streams.length > 0, "has streams");
- ok(e.streams[0].getTracks().some(track => track == e.track), "has track");
+ ok(e.streams[0].getTrackById(e.track.id), "has track");
ok(pc2.getReceivers().some(receiver => receiver == e.receiver), "has receiver");
if (e.streams[0].getTracks().length == 2) {
// Test RTCTrackEvent required args here.
mustThrowWith("RTCTrackEvent wo/required args",
"TypeError", () => new RTCTrackEvent("track", {}));
v2.srcObject = e.streams[0];
resolve();
}