Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html

Issue 2951713002: RTCPeerConnection.addTrack and removeTrack added (behind flag) (Closed)
Patch Set: Addressed deadbeef's comments Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html
diff --git a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html
index eb2f5091e34c9d5d5104c7aa53175e9c1598a635..f946ca5bb4f7d8ba0cc7a974c7d8907147e3451b 100644
--- a/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html
+++ b/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-getSenders.html
@@ -15,11 +15,11 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 1, true, false);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
});
-}, 'getSenders() for a single audio track.');
+}, 'getSenders() for a stream with a single audio track.');
promise_test(function() {
let pc = new RTCPeerConnection();
@@ -29,11 +29,11 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 1, false, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
});
-}, 'getSenders() for a single video track.');
+}, 'getSenders() for a stream with a single video track.');
promise_test(function() {
let pc = new RTCPeerConnection();
@@ -43,11 +43,11 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 1, true, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
});
-}, 'getSenders() for a single stream with an audio and video track.');
+}, 'getSenders() for a stream with an audio and video track.');
promise_test(function() {
let pc = new RTCPeerConnection();
@@ -57,7 +57,7 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 2, true, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
});
@@ -72,7 +72,7 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 2, true, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
@@ -83,7 +83,7 @@ promise_test(function() {
pc.removeStream(pc.getLocalStreams()[0]);
verifyStreamAndTrackCounts(pc.getLocalStreams(), 1, true, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
@@ -97,7 +97,7 @@ promise_test(function() {
pc.addStream(streams[i]);
}
verifyStreamAndTrackCounts(pc.getLocalStreams(), 2, true, true);
- verifyLocalTracksHaveSenders(pc);
+ verifyLocalStreamTracksHaveSenders(pc);
// Make sure object identities are preserved between calls.
assert_array_equals(pc.getSenders(), pc.getSenders());
@@ -117,6 +117,19 @@ promise_test(function() {
});
}, 'getSenders() for streams being added and removed.');
+promise_test(function() {
+ let pc = new RTCPeerConnection();
+ return createStreams({audio:true, video:false}, 1)
+ .then(function(streams) {
+ let track = streams[0].getAudioTracks()[0];
+ let sender = pc.addTrack(track);
+ verifyTracksHaveSenders(pc, new Set([ track ]));
+ assert_equals(pc.getSenders()[0], sender);
+ pc.removeTrack(sender);
+ assert_equals(pc.getSenders().length, 0);
+ });
+}, 'getSenders() for addTrack() and removeTrack().');
+
/**
* Helper functions to tests.
*/
@@ -141,7 +154,7 @@ function verifyStreamAndTrackCounts(streams, streamCount, audio, video) {
}
}
-function verifyLocalTracksHaveSenders(pc) {
+function verifyLocalStreamTracksHaveSenders(pc) {
let localTracks = new Set();
let localStreams = pc.getLocalStreams();
for (let i = 0; i < localStreams.length; ++i) {
@@ -150,17 +163,20 @@ function verifyLocalTracksHaveSenders(pc) {
localTracks.add(localStreamTracks[j]);
}
}
+ return verifyTracksHaveSenders(pc, localTracks);
+}
+function verifyTracksHaveSenders(pc, tracks) {
let senderTracks = new Set();
let senders = pc.getSenders();
for (let i = 0; i < senders.length; ++i) {
assert_true(senders[i] != null);
assert_true(senders[i].track != null);
- assert_true(localTracks.has(senders[i].track));
+ assert_true(tracks.has(senders[i].track));
assert_false(senderTracks.has(senders[i].track));
senderTracks.add(senders[i].track);
}
- assert_equals(senderTracks.size, localTracks.size);
+ assert_equals(senderTracks.size, tracks.size);
}
</script>
</body>

Powered by Google App Engine
This is Rietveld 408576698