OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" | 31 #include "third_party/WebKit/public/platform/WebRTCSessionDescription.h" |
32 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" | 32 #include "third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h" |
33 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" | 33 #include "third_party/WebKit/public/platform/WebRTCStatsRequest.h" |
34 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" | 34 #include "third_party/WebKit/public/platform/WebRTCVoidRequest.h" |
35 #include "third_party/WebKit/public/platform/WebURL.h" | 35 #include "third_party/WebKit/public/platform/WebURL.h" |
36 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" | 36 #include "third_party/libjingle/source/talk/app/webrtc/peerconnectioninterface.h
" |
37 | 37 |
38 static const char kDummySdp[] = "dummy sdp"; | 38 static const char kDummySdp[] = "dummy sdp"; |
39 static const char kDummySdpType[] = "dummy type"; | 39 static const char kDummySdpType[] = "dummy type"; |
40 | 40 |
41 using WebKit::WebRTCPeerConnectionHandlerClient; | 41 using blink::WebRTCPeerConnectionHandlerClient; |
42 using testing::NiceMock; | 42 using testing::NiceMock; |
43 using testing::_; | 43 using testing::_; |
44 using testing::Ref; | 44 using testing::Ref; |
45 | 45 |
46 namespace content { | 46 namespace content { |
47 | 47 |
48 class MockRTCStatsResponse : public LocalRTCStatsResponse { | 48 class MockRTCStatsResponse : public LocalRTCStatsResponse { |
49 public: | 49 public: |
50 MockRTCStatsResponse() | 50 MockRTCStatsResponse() |
51 : report_count_(0), | 51 : report_count_(0), |
52 statistic_count_(0) { | 52 statistic_count_(0) { |
53 } | 53 } |
54 | 54 |
55 virtual size_t addReport(WebKit::WebString type, | 55 virtual size_t addReport(blink::WebString type, |
56 WebKit::WebString id, | 56 blink::WebString id, |
57 double timestamp) OVERRIDE { | 57 double timestamp) OVERRIDE { |
58 ++report_count_; | 58 ++report_count_; |
59 return report_count_; | 59 return report_count_; |
60 } | 60 } |
61 | 61 |
62 virtual void addStatistic(size_t report, | 62 virtual void addStatistic(size_t report, |
63 WebKit::WebString name, WebKit::WebString value) | 63 blink::WebString name, blink::WebString value) |
64 OVERRIDE { | 64 OVERRIDE { |
65 ++statistic_count_; | 65 ++statistic_count_; |
66 } | 66 } |
67 int report_count() const { return report_count_; } | 67 int report_count() const { return report_count_; } |
68 | 68 |
69 private: | 69 private: |
70 int report_count_; | 70 int report_count_; |
71 int statistic_count_; | 71 int statistic_count_; |
72 }; | 72 }; |
73 | 73 |
74 // Mocked wrapper for WebKit::WebRTCStatsRequest | 74 // Mocked wrapper for blink::WebRTCStatsRequest |
75 class MockRTCStatsRequest : public LocalRTCStatsRequest { | 75 class MockRTCStatsRequest : public LocalRTCStatsRequest { |
76 public: | 76 public: |
77 MockRTCStatsRequest() | 77 MockRTCStatsRequest() |
78 : has_selector_(false), | 78 : has_selector_(false), |
79 request_succeeded_called_(false) {} | 79 request_succeeded_called_(false) {} |
80 | 80 |
81 virtual bool hasSelector() const OVERRIDE { | 81 virtual bool hasSelector() const OVERRIDE { |
82 return has_selector_; | 82 return has_selector_; |
83 } | 83 } |
84 virtual WebKit::WebMediaStreamTrack component() const OVERRIDE { | 84 virtual blink::WebMediaStreamTrack component() const OVERRIDE { |
85 return component_; | 85 return component_; |
86 } | 86 } |
87 virtual scoped_refptr<LocalRTCStatsResponse> createResponse() OVERRIDE { | 87 virtual scoped_refptr<LocalRTCStatsResponse> createResponse() OVERRIDE { |
88 DCHECK(!response_.get()); | 88 DCHECK(!response_.get()); |
89 response_ = new talk_base::RefCountedObject<MockRTCStatsResponse>(); | 89 response_ = new talk_base::RefCountedObject<MockRTCStatsResponse>(); |
90 return response_; | 90 return response_; |
91 } | 91 } |
92 | 92 |
93 virtual void requestSucceeded(const LocalRTCStatsResponse* response) | 93 virtual void requestSucceeded(const LocalRTCStatsResponse* response) |
94 OVERRIDE { | 94 OVERRIDE { |
95 EXPECT_EQ(response, response_.get()); | 95 EXPECT_EQ(response, response_.get()); |
96 request_succeeded_called_ = true; | 96 request_succeeded_called_ = true; |
97 } | 97 } |
98 | 98 |
99 // Function for setting whether or not a selector is available. | 99 // Function for setting whether or not a selector is available. |
100 void setSelector(const WebKit::WebMediaStreamTrack& component) { | 100 void setSelector(const blink::WebMediaStreamTrack& component) { |
101 has_selector_ = true; | 101 has_selector_ = true; |
102 component_ = component; | 102 component_ = component; |
103 } | 103 } |
104 | 104 |
105 // Function for inspecting the result of a stats request. | 105 // Function for inspecting the result of a stats request. |
106 MockRTCStatsResponse* result() { | 106 MockRTCStatsResponse* result() { |
107 if (request_succeeded_called_) { | 107 if (request_succeeded_called_) { |
108 return response_.get(); | 108 return response_.get(); |
109 } else { | 109 } else { |
110 return NULL; | 110 return NULL; |
111 } | 111 } |
112 } | 112 } |
113 | 113 |
114 private: | 114 private: |
115 bool has_selector_; | 115 bool has_selector_; |
116 WebKit::WebMediaStreamTrack component_; | 116 blink::WebMediaStreamTrack component_; |
117 scoped_refptr<MockRTCStatsResponse> response_; | 117 scoped_refptr<MockRTCStatsResponse> response_; |
118 bool request_succeeded_called_; | 118 bool request_succeeded_called_; |
119 }; | 119 }; |
120 | 120 |
121 class MockPeerConnectionTracker : public PeerConnectionTracker { | 121 class MockPeerConnectionTracker : public PeerConnectionTracker { |
122 public: | 122 public: |
123 MOCK_METHOD1(UnregisterPeerConnection, | 123 MOCK_METHOD1(UnregisterPeerConnection, |
124 void(RTCPeerConnectionHandler* pc_handler)); | 124 void(RTCPeerConnectionHandler* pc_handler)); |
125 // TODO(jiayl): add coverage for the following methods | 125 // TODO(jiayl): add coverage for the following methods |
126 MOCK_METHOD2(TrackCreateOffer, | 126 MOCK_METHOD2(TrackCreateOffer, |
127 void(RTCPeerConnectionHandler* pc_handler, | 127 void(RTCPeerConnectionHandler* pc_handler, |
128 const RTCMediaConstraints& constraints)); | 128 const RTCMediaConstraints& constraints)); |
129 MOCK_METHOD2(TrackCreateAnswer, | 129 MOCK_METHOD2(TrackCreateAnswer, |
130 void(RTCPeerConnectionHandler* pc_handler, | 130 void(RTCPeerConnectionHandler* pc_handler, |
131 const RTCMediaConstraints& constraints)); | 131 const RTCMediaConstraints& constraints)); |
132 MOCK_METHOD3(TrackSetSessionDescription, | 132 MOCK_METHOD3(TrackSetSessionDescription, |
133 void(RTCPeerConnectionHandler* pc_handler, | 133 void(RTCPeerConnectionHandler* pc_handler, |
134 const WebKit::WebRTCSessionDescription& desc, | 134 const blink::WebRTCSessionDescription& desc, |
135 Source source)); | 135 Source source)); |
136 MOCK_METHOD3( | 136 MOCK_METHOD3( |
137 TrackUpdateIce, | 137 TrackUpdateIce, |
138 void(RTCPeerConnectionHandler* pc_handler, | 138 void(RTCPeerConnectionHandler* pc_handler, |
139 const std::vector< | 139 const std::vector< |
140 webrtc::PeerConnectionInterface::IceServer>& servers, | 140 webrtc::PeerConnectionInterface::IceServer>& servers, |
141 const RTCMediaConstraints& options)); | 141 const RTCMediaConstraints& options)); |
142 MOCK_METHOD3(TrackAddIceCandidate, | 142 MOCK_METHOD3(TrackAddIceCandidate, |
143 void(RTCPeerConnectionHandler* pc_handler, | 143 void(RTCPeerConnectionHandler* pc_handler, |
144 const WebKit::WebRTCICECandidate& candidate, | 144 const blink::WebRTCICECandidate& candidate, |
145 Source source)); | 145 Source source)); |
146 MOCK_METHOD3(TrackAddStream, | 146 MOCK_METHOD3(TrackAddStream, |
147 void(RTCPeerConnectionHandler* pc_handler, | 147 void(RTCPeerConnectionHandler* pc_handler, |
148 const WebKit::WebMediaStream& stream, | 148 const blink::WebMediaStream& stream, |
149 Source source)); | 149 Source source)); |
150 MOCK_METHOD3(TrackRemoveStream, | 150 MOCK_METHOD3(TrackRemoveStream, |
151 void(RTCPeerConnectionHandler* pc_handler, | 151 void(RTCPeerConnectionHandler* pc_handler, |
152 const WebKit::WebMediaStream& stream, | 152 const blink::WebMediaStream& stream, |
153 Source source)); | 153 Source source)); |
154 MOCK_METHOD1(TrackOnIceComplete, | 154 MOCK_METHOD1(TrackOnIceComplete, |
155 void(RTCPeerConnectionHandler* pc_handler)); | 155 void(RTCPeerConnectionHandler* pc_handler)); |
156 MOCK_METHOD3(TrackCreateDataChannel, | 156 MOCK_METHOD3(TrackCreateDataChannel, |
157 void(RTCPeerConnectionHandler* pc_handler, | 157 void(RTCPeerConnectionHandler* pc_handler, |
158 const webrtc::DataChannelInterface* data_channel, | 158 const webrtc::DataChannelInterface* data_channel, |
159 Source source)); | 159 Source source)); |
160 MOCK_METHOD1(TrackStop, void(RTCPeerConnectionHandler* pc_handler)); | 160 MOCK_METHOD1(TrackStop, void(RTCPeerConnectionHandler* pc_handler)); |
161 MOCK_METHOD2(TrackSignalingStateChange, | 161 MOCK_METHOD2(TrackSignalingStateChange, |
162 void(RTCPeerConnectionHandler* pc_handler, | 162 void(RTCPeerConnectionHandler* pc_handler, |
163 WebRTCPeerConnectionHandlerClient::SignalingState state)); | 163 WebRTCPeerConnectionHandlerClient::SignalingState state)); |
164 MOCK_METHOD2( | 164 MOCK_METHOD2( |
165 TrackIceConnectionStateChange, | 165 TrackIceConnectionStateChange, |
166 void(RTCPeerConnectionHandler* pc_handler, | 166 void(RTCPeerConnectionHandler* pc_handler, |
167 WebRTCPeerConnectionHandlerClient::ICEConnectionState state)); | 167 WebRTCPeerConnectionHandlerClient::ICEConnectionState state)); |
168 MOCK_METHOD2( | 168 MOCK_METHOD2( |
169 TrackIceGatheringStateChange, | 169 TrackIceGatheringStateChange, |
170 void(RTCPeerConnectionHandler* pc_handler, | 170 void(RTCPeerConnectionHandler* pc_handler, |
171 WebRTCPeerConnectionHandlerClient::ICEGatheringState state)); | 171 WebRTCPeerConnectionHandlerClient::ICEGatheringState state)); |
172 MOCK_METHOD1(TrackOnRenegotiationNeeded, | 172 MOCK_METHOD1(TrackOnRenegotiationNeeded, |
173 void(RTCPeerConnectionHandler* pc_handler)); | 173 void(RTCPeerConnectionHandler* pc_handler)); |
174 MOCK_METHOD2(TrackCreateDTMFSender, | 174 MOCK_METHOD2(TrackCreateDTMFSender, |
175 void(RTCPeerConnectionHandler* pc_handler, | 175 void(RTCPeerConnectionHandler* pc_handler, |
176 const WebKit::WebMediaStreamTrack& track)); | 176 const blink::WebMediaStreamTrack& track)); |
177 }; | 177 }; |
178 | 178 |
179 class RTCPeerConnectionHandlerUnderTest : public RTCPeerConnectionHandler { | 179 class RTCPeerConnectionHandlerUnderTest : public RTCPeerConnectionHandler { |
180 public: | 180 public: |
181 RTCPeerConnectionHandlerUnderTest( | 181 RTCPeerConnectionHandlerUnderTest( |
182 WebRTCPeerConnectionHandlerClient* client, | 182 WebRTCPeerConnectionHandlerClient* client, |
183 MediaStreamDependencyFactory* dependency_factory) | 183 MediaStreamDependencyFactory* dependency_factory) |
184 : RTCPeerConnectionHandler(client, dependency_factory) { | 184 : RTCPeerConnectionHandler(client, dependency_factory) { |
185 } | 185 } |
186 | 186 |
187 MockPeerConnectionImpl* native_peer_connection() { | 187 MockPeerConnectionImpl* native_peer_connection() { |
188 return static_cast<MockPeerConnectionImpl*>(native_peer_connection_.get()); | 188 return static_cast<MockPeerConnectionImpl*>(native_peer_connection_.get()); |
189 } | 189 } |
190 }; | 190 }; |
191 | 191 |
192 class RTCPeerConnectionHandlerTest : public ::testing::Test { | 192 class RTCPeerConnectionHandlerTest : public ::testing::Test { |
193 public: | 193 public: |
194 RTCPeerConnectionHandlerTest() : mock_peer_connection_(NULL) { | 194 RTCPeerConnectionHandlerTest() : mock_peer_connection_(NULL) { |
195 } | 195 } |
196 | 196 |
197 virtual void SetUp() { | 197 virtual void SetUp() { |
198 mock_client_.reset(new NiceMock<MockWebRTCPeerConnectionHandlerClient>()); | 198 mock_client_.reset(new NiceMock<MockWebRTCPeerConnectionHandlerClient>()); |
199 mock_dependency_factory_.reset(new MockMediaStreamDependencyFactory()); | 199 mock_dependency_factory_.reset(new MockMediaStreamDependencyFactory()); |
200 mock_dependency_factory_->EnsurePeerConnectionFactory(); | 200 mock_dependency_factory_->EnsurePeerConnectionFactory(); |
201 pc_handler_.reset( | 201 pc_handler_.reset( |
202 new RTCPeerConnectionHandlerUnderTest(mock_client_.get(), | 202 new RTCPeerConnectionHandlerUnderTest(mock_client_.get(), |
203 mock_dependency_factory_.get())); | 203 mock_dependency_factory_.get())); |
204 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>()); | 204 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>()); |
205 WebKit::WebRTCConfiguration config; | 205 blink::WebRTCConfiguration config; |
206 WebKit::WebMediaConstraints constraints; | 206 blink::WebMediaConstraints constraints; |
207 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints, | 207 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints, |
208 mock_tracker_.get())); | 208 mock_tracker_.get())); |
209 | 209 |
210 mock_peer_connection_ = pc_handler_->native_peer_connection(); | 210 mock_peer_connection_ = pc_handler_->native_peer_connection(); |
211 ASSERT_TRUE(mock_peer_connection_); | 211 ASSERT_TRUE(mock_peer_connection_); |
212 } | 212 } |
213 | 213 |
214 // Creates a WebKit local MediaStream. | 214 // Creates a WebKit local MediaStream. |
215 WebKit::WebMediaStream CreateLocalMediaStream( | 215 blink::WebMediaStream CreateLocalMediaStream( |
216 const std::string& stream_label) { | 216 const std::string& stream_label) { |
217 std::string video_track_label("video-label"); | 217 std::string video_track_label("video-label"); |
218 std::string audio_track_label("audio-label"); | 218 std::string audio_track_label("audio-label"); |
219 | 219 |
220 WebKit::WebMediaStreamSource audio_source; | 220 blink::WebMediaStreamSource audio_source; |
221 audio_source.initialize(WebKit::WebString::fromUTF8(audio_track_label), | 221 audio_source.initialize(blink::WebString::fromUTF8(audio_track_label), |
222 WebKit::WebMediaStreamSource::TypeAudio, | 222 blink::WebMediaStreamSource::TypeAudio, |
223 WebKit::WebString::fromUTF8("audio_track")); | 223 blink::WebString::fromUTF8("audio_track")); |
224 WebKit::WebMediaStreamSource video_source; | 224 blink::WebMediaStreamSource video_source; |
225 video_source.initialize(WebKit::WebString::fromUTF8(video_track_label), | 225 video_source.initialize(blink::WebString::fromUTF8(video_track_label), |
226 WebKit::WebMediaStreamSource::TypeVideo, | 226 blink::WebMediaStreamSource::TypeVideo, |
227 WebKit::WebString::fromUTF8("video_track")); | 227 blink::WebString::fromUTF8("video_track")); |
228 | 228 |
229 WebKit::WebVector<WebKit::WebMediaStreamTrack> audio_tracks( | 229 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks( |
230 static_cast<size_t>(1)); | 230 static_cast<size_t>(1)); |
231 audio_tracks[0].initialize(audio_source.id(), audio_source); | 231 audio_tracks[0].initialize(audio_source.id(), audio_source); |
232 WebKit::WebVector<WebKit::WebMediaStreamTrack> video_tracks( | 232 blink::WebVector<blink::WebMediaStreamTrack> video_tracks( |
233 static_cast<size_t>(1)); | 233 static_cast<size_t>(1)); |
234 video_tracks[0].initialize(video_source.id(), video_source); | 234 video_tracks[0].initialize(video_source.id(), video_source); |
235 | 235 |
236 WebKit::WebMediaStream local_stream; | 236 blink::WebMediaStream local_stream; |
237 local_stream.initialize(UTF8ToUTF16(stream_label), audio_tracks, | 237 local_stream.initialize(UTF8ToUTF16(stream_label), audio_tracks, |
238 video_tracks); | 238 video_tracks); |
239 | 239 |
240 scoped_refptr<webrtc::MediaStreamInterface> native_stream( | 240 scoped_refptr<webrtc::MediaStreamInterface> native_stream( |
241 mock_dependency_factory_->CreateLocalMediaStream(stream_label)); | 241 mock_dependency_factory_->CreateLocalMediaStream(stream_label)); |
242 | 242 |
243 local_stream.audioTracks(audio_tracks); | 243 local_stream.audioTracks(audio_tracks); |
244 const std::string audio_track_id = UTF16ToUTF8(audio_tracks[0].id()); | 244 const std::string audio_track_id = UTF16ToUTF8(audio_tracks[0].id()); |
245 scoped_refptr<WebRtcAudioCapturer> capturer; | 245 scoped_refptr<WebRtcAudioCapturer> capturer; |
246 RTCMediaConstraints audio_constraints(audio_source.constraints()); | 246 RTCMediaConstraints audio_constraints(audio_source.constraints()); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 MockPeerConnectionImpl* mock_peer_connection_; | 305 MockPeerConnectionImpl* mock_peer_connection_; |
306 }; | 306 }; |
307 | 307 |
308 TEST_F(RTCPeerConnectionHandlerTest, Destruct) { | 308 TEST_F(RTCPeerConnectionHandlerTest, Destruct) { |
309 EXPECT_CALL(*mock_tracker_.get(), UnregisterPeerConnection(pc_handler_.get())) | 309 EXPECT_CALL(*mock_tracker_.get(), UnregisterPeerConnection(pc_handler_.get())) |
310 .Times(1); | 310 .Times(1); |
311 pc_handler_.reset(NULL); | 311 pc_handler_.reset(NULL); |
312 } | 312 } |
313 | 313 |
314 TEST_F(RTCPeerConnectionHandlerTest, CreateOffer) { | 314 TEST_F(RTCPeerConnectionHandlerTest, CreateOffer) { |
315 WebKit::WebRTCSessionDescriptionRequest request; | 315 blink::WebRTCSessionDescriptionRequest request; |
316 WebKit::WebMediaConstraints options; | 316 blink::WebMediaConstraints options; |
317 EXPECT_CALL(*mock_tracker_.get(), TrackCreateOffer(pc_handler_.get(), _)); | 317 EXPECT_CALL(*mock_tracker_.get(), TrackCreateOffer(pc_handler_.get(), _)); |
318 | 318 |
319 // TODO(perkj): Can WebKit::WebRTCSessionDescriptionRequest be changed so | 319 // TODO(perkj): Can blink::WebRTCSessionDescriptionRequest be changed so |
320 // the |reqest| requestSucceeded can be tested? Currently the |request| object | 320 // the |reqest| requestSucceeded can be tested? Currently the |request| object |
321 // can not be initialized from a unit test. | 321 // can not be initialized from a unit test. |
322 EXPECT_FALSE(mock_peer_connection_->created_session_description() != NULL); | 322 EXPECT_FALSE(mock_peer_connection_->created_session_description() != NULL); |
323 pc_handler_->createOffer(request, options); | 323 pc_handler_->createOffer(request, options); |
324 EXPECT_TRUE(mock_peer_connection_->created_session_description() != NULL); | 324 EXPECT_TRUE(mock_peer_connection_->created_session_description() != NULL); |
325 } | 325 } |
326 | 326 |
327 TEST_F(RTCPeerConnectionHandlerTest, CreateAnswer) { | 327 TEST_F(RTCPeerConnectionHandlerTest, CreateAnswer) { |
328 WebKit::WebRTCSessionDescriptionRequest request; | 328 blink::WebRTCSessionDescriptionRequest request; |
329 WebKit::WebMediaConstraints options; | 329 blink::WebMediaConstraints options; |
330 EXPECT_CALL(*mock_tracker_.get(), TrackCreateAnswer(pc_handler_.get(), _)); | 330 EXPECT_CALL(*mock_tracker_.get(), TrackCreateAnswer(pc_handler_.get(), _)); |
331 // TODO(perkj): Can WebKit::WebRTCSessionDescriptionRequest be changed so | 331 // TODO(perkj): Can blink::WebRTCSessionDescriptionRequest be changed so |
332 // the |reqest| requestSucceeded can be tested? Currently the |request| object | 332 // the |reqest| requestSucceeded can be tested? Currently the |request| object |
333 // can not be initialized from a unit test. | 333 // can not be initialized from a unit test. |
334 EXPECT_FALSE(mock_peer_connection_->created_session_description() != NULL); | 334 EXPECT_FALSE(mock_peer_connection_->created_session_description() != NULL); |
335 pc_handler_->createAnswer(request, options); | 335 pc_handler_->createAnswer(request, options); |
336 EXPECT_TRUE(mock_peer_connection_->created_session_description() != NULL); | 336 EXPECT_TRUE(mock_peer_connection_->created_session_description() != NULL); |
337 } | 337 } |
338 | 338 |
339 TEST_F(RTCPeerConnectionHandlerTest, setLocalDescription) { | 339 TEST_F(RTCPeerConnectionHandlerTest, setLocalDescription) { |
340 WebKit::WebRTCVoidRequest request; | 340 blink::WebRTCVoidRequest request; |
341 WebKit::WebRTCSessionDescription description; | 341 blink::WebRTCSessionDescription description; |
342 description.initialize(kDummySdpType, kDummySdp); | 342 description.initialize(kDummySdpType, kDummySdp); |
343 // PeerConnectionTracker::TrackSetSessionDescription is expected to be called | 343 // PeerConnectionTracker::TrackSetSessionDescription is expected to be called |
344 // before |mock_peer_connection| is called. | 344 // before |mock_peer_connection| is called. |
345 testing::InSequence sequence; | 345 testing::InSequence sequence; |
346 EXPECT_CALL(*mock_tracker_.get(), | 346 EXPECT_CALL(*mock_tracker_.get(), |
347 TrackSetSessionDescription(pc_handler_.get(), Ref(description), | 347 TrackSetSessionDescription(pc_handler_.get(), Ref(description), |
348 PeerConnectionTracker::SOURCE_LOCAL)); | 348 PeerConnectionTracker::SOURCE_LOCAL)); |
349 EXPECT_CALL(*mock_peer_connection_, SetLocalDescription(_, _)); | 349 EXPECT_CALL(*mock_peer_connection_, SetLocalDescription(_, _)); |
350 | 350 |
351 pc_handler_->setLocalDescription(request, description); | 351 pc_handler_->setLocalDescription(request, description); |
352 EXPECT_EQ(description.type(), pc_handler_->localDescription().type()); | 352 EXPECT_EQ(description.type(), pc_handler_->localDescription().type()); |
353 EXPECT_EQ(description.sdp(), pc_handler_->localDescription().sdp()); | 353 EXPECT_EQ(description.sdp(), pc_handler_->localDescription().sdp()); |
354 | 354 |
355 std::string sdp_string; | 355 std::string sdp_string; |
356 ASSERT_TRUE(mock_peer_connection_->local_description() != NULL); | 356 ASSERT_TRUE(mock_peer_connection_->local_description() != NULL); |
357 EXPECT_EQ(kDummySdpType, mock_peer_connection_->local_description()->type()); | 357 EXPECT_EQ(kDummySdpType, mock_peer_connection_->local_description()->type()); |
358 mock_peer_connection_->local_description()->ToString(&sdp_string); | 358 mock_peer_connection_->local_description()->ToString(&sdp_string); |
359 EXPECT_EQ(kDummySdp, sdp_string); | 359 EXPECT_EQ(kDummySdp, sdp_string); |
360 } | 360 } |
361 | 361 |
362 TEST_F(RTCPeerConnectionHandlerTest, setRemoteDescription) { | 362 TEST_F(RTCPeerConnectionHandlerTest, setRemoteDescription) { |
363 WebKit::WebRTCVoidRequest request; | 363 blink::WebRTCVoidRequest request; |
364 WebKit::WebRTCSessionDescription description; | 364 blink::WebRTCSessionDescription description; |
365 description.initialize(kDummySdpType, kDummySdp); | 365 description.initialize(kDummySdpType, kDummySdp); |
366 | 366 |
367 // PeerConnectionTracker::TrackSetSessionDescription is expected to be called | 367 // PeerConnectionTracker::TrackSetSessionDescription is expected to be called |
368 // before |mock_peer_connection| is called. | 368 // before |mock_peer_connection| is called. |
369 testing::InSequence sequence; | 369 testing::InSequence sequence; |
370 EXPECT_CALL(*mock_tracker_.get(), | 370 EXPECT_CALL(*mock_tracker_.get(), |
371 TrackSetSessionDescription(pc_handler_.get(), Ref(description), | 371 TrackSetSessionDescription(pc_handler_.get(), Ref(description), |
372 PeerConnectionTracker::SOURCE_REMOTE)); | 372 PeerConnectionTracker::SOURCE_REMOTE)); |
373 EXPECT_CALL(*mock_peer_connection_, SetRemoteDescription(_, _)); | 373 EXPECT_CALL(*mock_peer_connection_, SetRemoteDescription(_, _)); |
374 | 374 |
375 pc_handler_->setRemoteDescription(request, description); | 375 pc_handler_->setRemoteDescription(request, description); |
376 EXPECT_EQ(description.type(), pc_handler_->remoteDescription().type()); | 376 EXPECT_EQ(description.type(), pc_handler_->remoteDescription().type()); |
377 EXPECT_EQ(description.sdp(), pc_handler_->remoteDescription().sdp()); | 377 EXPECT_EQ(description.sdp(), pc_handler_->remoteDescription().sdp()); |
378 | 378 |
379 std::string sdp_string; | 379 std::string sdp_string; |
380 ASSERT_TRUE(mock_peer_connection_->remote_description() != NULL); | 380 ASSERT_TRUE(mock_peer_connection_->remote_description() != NULL); |
381 EXPECT_EQ(kDummySdpType, mock_peer_connection_->remote_description()->type()); | 381 EXPECT_EQ(kDummySdpType, mock_peer_connection_->remote_description()->type()); |
382 mock_peer_connection_->remote_description()->ToString(&sdp_string); | 382 mock_peer_connection_->remote_description()->ToString(&sdp_string); |
383 EXPECT_EQ(kDummySdp, sdp_string); | 383 EXPECT_EQ(kDummySdp, sdp_string); |
384 } | 384 } |
385 | 385 |
386 TEST_F(RTCPeerConnectionHandlerTest, updateICE) { | 386 TEST_F(RTCPeerConnectionHandlerTest, updateICE) { |
387 WebKit::WebRTCConfiguration config; | 387 blink::WebRTCConfiguration config; |
388 WebKit::WebMediaConstraints constraints; | 388 blink::WebMediaConstraints constraints; |
389 | 389 |
390 EXPECT_CALL(*mock_tracker_.get(), TrackUpdateIce(pc_handler_.get(), _, _)); | 390 EXPECT_CALL(*mock_tracker_.get(), TrackUpdateIce(pc_handler_.get(), _, _)); |
391 // TODO(perkj): Test that the parameters in |config| can be translated when a | 391 // TODO(perkj): Test that the parameters in |config| can be translated when a |
392 // WebRTCConfiguration can be constructed. It's WebKit class and can't be | 392 // WebRTCConfiguration can be constructed. It's WebKit class and can't be |
393 // initialized from a test. | 393 // initialized from a test. |
394 EXPECT_TRUE(pc_handler_->updateICE(config, constraints)); | 394 EXPECT_TRUE(pc_handler_->updateICE(config, constraints)); |
395 } | 395 } |
396 | 396 |
397 TEST_F(RTCPeerConnectionHandlerTest, addICECandidate) { | 397 TEST_F(RTCPeerConnectionHandlerTest, addICECandidate) { |
398 WebKit::WebRTCICECandidate candidate; | 398 blink::WebRTCICECandidate candidate; |
399 candidate.initialize(kDummySdp, "mid", 1); | 399 candidate.initialize(kDummySdp, "mid", 1); |
400 | 400 |
401 EXPECT_CALL(*mock_tracker_.get(), | 401 EXPECT_CALL(*mock_tracker_.get(), |
402 TrackAddIceCandidate(pc_handler_.get(), | 402 TrackAddIceCandidate(pc_handler_.get(), |
403 testing::Ref(candidate), | 403 testing::Ref(candidate), |
404 PeerConnectionTracker::SOURCE_REMOTE)); | 404 PeerConnectionTracker::SOURCE_REMOTE)); |
405 EXPECT_TRUE(pc_handler_->addICECandidate(candidate)); | 405 EXPECT_TRUE(pc_handler_->addICECandidate(candidate)); |
406 EXPECT_EQ(kDummySdp, mock_peer_connection_->ice_sdp()); | 406 EXPECT_EQ(kDummySdp, mock_peer_connection_->ice_sdp()); |
407 EXPECT_EQ(1, mock_peer_connection_->sdp_mline_index()); | 407 EXPECT_EQ(1, mock_peer_connection_->sdp_mline_index()); |
408 EXPECT_EQ("mid", mock_peer_connection_->sdp_mid()); | 408 EXPECT_EQ("mid", mock_peer_connection_->sdp_mid()); |
409 } | 409 } |
410 | 410 |
411 TEST_F(RTCPeerConnectionHandlerTest, addAndRemoveStream) { | 411 TEST_F(RTCPeerConnectionHandlerTest, addAndRemoveStream) { |
412 std::string stream_label = "local_stream"; | 412 std::string stream_label = "local_stream"; |
413 WebKit::WebMediaStream local_stream( | 413 blink::WebMediaStream local_stream( |
414 CreateLocalMediaStream(stream_label)); | 414 CreateLocalMediaStream(stream_label)); |
415 WebKit::WebMediaConstraints constraints; | 415 blink::WebMediaConstraints constraints; |
416 | 416 |
417 EXPECT_CALL(*mock_tracker_.get(), | 417 EXPECT_CALL(*mock_tracker_.get(), |
418 TrackAddStream(pc_handler_.get(), | 418 TrackAddStream(pc_handler_.get(), |
419 testing::Ref(local_stream), | 419 testing::Ref(local_stream), |
420 PeerConnectionTracker::SOURCE_LOCAL)); | 420 PeerConnectionTracker::SOURCE_LOCAL)); |
421 EXPECT_CALL(*mock_tracker_.get(), | 421 EXPECT_CALL(*mock_tracker_.get(), |
422 TrackRemoveStream(pc_handler_.get(), | 422 TrackRemoveStream(pc_handler_.get(), |
423 testing::Ref(local_stream), | 423 testing::Ref(local_stream), |
424 PeerConnectionTracker::SOURCE_LOCAL)); | 424 PeerConnectionTracker::SOURCE_LOCAL)); |
425 EXPECT_TRUE(pc_handler_->addStream(local_stream, constraints)); | 425 EXPECT_TRUE(pc_handler_->addStream(local_stream, constraints)); |
(...skipping 20 matching lines...) Expand all Loading... |
446 scoped_refptr<MockRTCStatsRequest> request( | 446 scoped_refptr<MockRTCStatsRequest> request( |
447 new talk_base::RefCountedObject<MockRTCStatsRequest>()); | 447 new talk_base::RefCountedObject<MockRTCStatsRequest>()); |
448 pc_handler_->stop(); | 448 pc_handler_->stop(); |
449 pc_handler_->getStats(request.get()); | 449 pc_handler_->getStats(request.get()); |
450 // Note that callback gets executed synchronously by mock. | 450 // Note that callback gets executed synchronously by mock. |
451 ASSERT_TRUE(request->result()); | 451 ASSERT_TRUE(request->result()); |
452 EXPECT_LT(1, request->result()->report_count()); | 452 EXPECT_LT(1, request->result()->report_count()); |
453 } | 453 } |
454 | 454 |
455 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithLocalSelector) { | 455 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithLocalSelector) { |
456 WebKit::WebMediaStream local_stream( | 456 blink::WebMediaStream local_stream( |
457 CreateLocalMediaStream("local_stream")); | 457 CreateLocalMediaStream("local_stream")); |
458 WebKit::WebMediaConstraints constraints; | 458 blink::WebMediaConstraints constraints; |
459 pc_handler_->addStream(local_stream, constraints); | 459 pc_handler_->addStream(local_stream, constraints); |
460 WebKit::WebVector<WebKit::WebMediaStreamTrack> tracks; | 460 blink::WebVector<blink::WebMediaStreamTrack> tracks; |
461 local_stream.audioTracks(tracks); | 461 local_stream.audioTracks(tracks); |
462 ASSERT_LE(1ul, tracks.size()); | 462 ASSERT_LE(1ul, tracks.size()); |
463 | 463 |
464 scoped_refptr<MockRTCStatsRequest> request( | 464 scoped_refptr<MockRTCStatsRequest> request( |
465 new talk_base::RefCountedObject<MockRTCStatsRequest>()); | 465 new talk_base::RefCountedObject<MockRTCStatsRequest>()); |
466 request->setSelector(tracks[0]); | 466 request->setSelector(tracks[0]); |
467 pc_handler_->getStats(request.get()); | 467 pc_handler_->getStats(request.get()); |
468 EXPECT_EQ(1, request->result()->report_count()); | 468 EXPECT_EQ(1, request->result()->report_count()); |
469 } | 469 } |
470 | 470 |
471 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithRemoteSelector) { | 471 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithRemoteSelector) { |
472 scoped_refptr<webrtc::MediaStreamInterface> stream( | 472 scoped_refptr<webrtc::MediaStreamInterface> stream( |
473 AddRemoteMockMediaStream("remote_stream", "video", "audio")); | 473 AddRemoteMockMediaStream("remote_stream", "video", "audio")); |
474 pc_handler_->OnAddStream(stream.get()); | 474 pc_handler_->OnAddStream(stream.get()); |
475 const WebKit::WebMediaStream& remote_stream = mock_client_->remote_stream(); | 475 const blink::WebMediaStream& remote_stream = mock_client_->remote_stream(); |
476 | 476 |
477 WebKit::WebVector<WebKit::WebMediaStreamTrack> tracks; | 477 blink::WebVector<blink::WebMediaStreamTrack> tracks; |
478 remote_stream.audioTracks(tracks); | 478 remote_stream.audioTracks(tracks); |
479 ASSERT_LE(1ul, tracks.size()); | 479 ASSERT_LE(1ul, tracks.size()); |
480 | 480 |
481 scoped_refptr<MockRTCStatsRequest> request( | 481 scoped_refptr<MockRTCStatsRequest> request( |
482 new talk_base::RefCountedObject<MockRTCStatsRequest>()); | 482 new talk_base::RefCountedObject<MockRTCStatsRequest>()); |
483 request->setSelector(tracks[0]); | 483 request->setSelector(tracks[0]); |
484 pc_handler_->getStats(request.get()); | 484 pc_handler_->getStats(request.get()); |
485 EXPECT_EQ(1, request->result()->report_count()); | 485 EXPECT_EQ(1, request->result()->report_count()); |
486 } | 486 } |
487 | 487 |
488 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithBadSelector) { | 488 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithBadSelector) { |
489 // The setup is the same as GetStatsWithLocalSelector, but the stream is not | 489 // The setup is the same as GetStatsWithLocalSelector, but the stream is not |
490 // added to the PeerConnection. | 490 // added to the PeerConnection. |
491 WebKit::WebMediaStream local_stream( | 491 blink::WebMediaStream local_stream( |
492 CreateLocalMediaStream("local_stream_2")); | 492 CreateLocalMediaStream("local_stream_2")); |
493 WebKit::WebMediaConstraints constraints; | 493 blink::WebMediaConstraints constraints; |
494 WebKit::WebVector<WebKit::WebMediaStreamTrack> tracks; | 494 blink::WebVector<blink::WebMediaStreamTrack> tracks; |
495 | 495 |
496 local_stream.audioTracks(tracks); | 496 local_stream.audioTracks(tracks); |
497 WebKit::WebMediaStreamTrack component = tracks[0]; | 497 blink::WebMediaStreamTrack component = tracks[0]; |
498 mock_peer_connection_->SetGetStatsResult(false); | 498 mock_peer_connection_->SetGetStatsResult(false); |
499 | 499 |
500 scoped_refptr<MockRTCStatsRequest> request( | 500 scoped_refptr<MockRTCStatsRequest> request( |
501 new talk_base::RefCountedObject<MockRTCStatsRequest>()); | 501 new talk_base::RefCountedObject<MockRTCStatsRequest>()); |
502 request->setSelector(component); | 502 request->setSelector(component); |
503 pc_handler_->getStats(request.get()); | 503 pc_handler_->getStats(request.get()); |
504 EXPECT_EQ(0, request->result()->report_count()); | 504 EXPECT_EQ(0, request->result()->report_count()); |
505 } | 505 } |
506 | 506 |
507 TEST_F(RTCPeerConnectionHandlerTest, OnSignalingChange) { | 507 TEST_F(RTCPeerConnectionHandlerTest, OnSignalingChange) { |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 } | 645 } |
646 | 646 |
647 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { | 647 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { |
648 std::string remote_stream_label("remote_stream"); | 648 std::string remote_stream_label("remote_stream"); |
649 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 649 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
650 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 650 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
651 | 651 |
652 testing::InSequence sequence; | 652 testing::InSequence sequence; |
653 EXPECT_CALL(*mock_tracker_.get(), TrackAddStream( | 653 EXPECT_CALL(*mock_tracker_.get(), TrackAddStream( |
654 pc_handler_.get(), | 654 pc_handler_.get(), |
655 testing::Property(&WebKit::WebMediaStream::id, | 655 testing::Property(&blink::WebMediaStream::id, |
656 UTF8ToUTF16(remote_stream_label)), | 656 UTF8ToUTF16(remote_stream_label)), |
657 PeerConnectionTracker::SOURCE_REMOTE)); | 657 PeerConnectionTracker::SOURCE_REMOTE)); |
658 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 658 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
659 testing::Property(&WebKit::WebMediaStream::id, | 659 testing::Property(&blink::WebMediaStream::id, |
660 UTF8ToUTF16(remote_stream_label)))); | 660 UTF8ToUTF16(remote_stream_label)))); |
661 | 661 |
662 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream( | 662 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream( |
663 pc_handler_.get(), | 663 pc_handler_.get(), |
664 testing::Property(&WebKit::WebMediaStream::id, | 664 testing::Property(&blink::WebMediaStream::id, |
665 UTF8ToUTF16(remote_stream_label)), | 665 UTF8ToUTF16(remote_stream_label)), |
666 PeerConnectionTracker::SOURCE_REMOTE)); | 666 PeerConnectionTracker::SOURCE_REMOTE)); |
667 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream( | 667 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream( |
668 testing::Property(&WebKit::WebMediaStream::id, | 668 testing::Property(&blink::WebMediaStream::id, |
669 UTF8ToUTF16(remote_stream_label)))); | 669 UTF8ToUTF16(remote_stream_label)))); |
670 | 670 |
671 pc_handler_->OnAddStream(remote_stream.get()); | 671 pc_handler_->OnAddStream(remote_stream.get()); |
672 pc_handler_->OnRemoveStream(remote_stream.get()); | 672 pc_handler_->OnRemoveStream(remote_stream.get()); |
673 } | 673 } |
674 | 674 |
675 // This test that WebKit is notified about remote track state changes. | 675 // This test that WebKit is notified about remote track state changes. |
676 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) { | 676 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) { |
677 std::string remote_stream_label("remote_stream"); | 677 std::string remote_stream_label("remote_stream"); |
678 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 678 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
679 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 679 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
680 | 680 |
681 testing::InSequence sequence; | 681 testing::InSequence sequence; |
682 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 682 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
683 testing::Property(&WebKit::WebMediaStream::id, | 683 testing::Property(&blink::WebMediaStream::id, |
684 UTF8ToUTF16(remote_stream_label)))); | 684 UTF8ToUTF16(remote_stream_label)))); |
685 pc_handler_->OnAddStream(remote_stream.get()); | 685 pc_handler_->OnAddStream(remote_stream.get()); |
686 const WebKit::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 686 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
687 | 687 |
688 WebKit::WebVector<WebKit::WebMediaStreamTrack> audio_tracks; | 688 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
689 webkit_stream.audioTracks(audio_tracks); | 689 webkit_stream.audioTracks(audio_tracks); |
690 EXPECT_EQ(WebKit::WebMediaStreamSource::ReadyStateLive, | 690 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, |
691 audio_tracks[0].source().readyState()); | 691 audio_tracks[0].source().readyState()); |
692 | 692 |
693 WebKit::WebVector<WebKit::WebMediaStreamTrack> video_tracks; | 693 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
694 webkit_stream.videoTracks(video_tracks); | 694 webkit_stream.videoTracks(video_tracks); |
695 EXPECT_EQ(WebKit::WebMediaStreamSource::ReadyStateLive, | 695 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, |
696 video_tracks[0].source().readyState()); | 696 video_tracks[0].source().readyState()); |
697 | 697 |
698 remote_stream->GetAudioTracks()[0]->set_state( | 698 remote_stream->GetAudioTracks()[0]->set_state( |
699 webrtc::MediaStreamTrackInterface::kEnded); | 699 webrtc::MediaStreamTrackInterface::kEnded); |
700 EXPECT_EQ(WebKit::WebMediaStreamSource::ReadyStateEnded, | 700 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, |
701 audio_tracks[0].source().readyState()); | 701 audio_tracks[0].source().readyState()); |
702 | 702 |
703 remote_stream->GetVideoTracks()[0]->set_state( | 703 remote_stream->GetVideoTracks()[0]->set_state( |
704 webrtc::MediaStreamTrackInterface::kEnded); | 704 webrtc::MediaStreamTrackInterface::kEnded); |
705 EXPECT_EQ(WebKit::WebMediaStreamSource::ReadyStateEnded, | 705 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, |
706 video_tracks[0].source().readyState()); | 706 video_tracks[0].source().readyState()); |
707 } | 707 } |
708 | 708 |
709 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) { | 709 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) { |
710 std::string remote_stream_label("remote_stream"); | 710 std::string remote_stream_label("remote_stream"); |
711 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 711 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
712 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 712 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
713 | 713 |
714 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 714 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
715 testing::Property(&WebKit::WebMediaStream::id, | 715 testing::Property(&blink::WebMediaStream::id, |
716 UTF8ToUTF16(remote_stream_label)))); | 716 UTF8ToUTF16(remote_stream_label)))); |
717 pc_handler_->OnAddStream(remote_stream.get()); | 717 pc_handler_->OnAddStream(remote_stream.get()); |
718 const WebKit::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 718 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
719 | 719 |
720 WebKit::WebVector<WebKit::WebMediaStreamTrack> audio_tracks; | 720 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
721 webkit_stream.audioTracks(audio_tracks); | 721 webkit_stream.audioTracks(audio_tracks); |
722 EXPECT_EQ(1u, audio_tracks.size()); | 722 EXPECT_EQ(1u, audio_tracks.size()); |
723 | 723 |
724 // Remove the Webrtc audio track from the Webrtc MediaStream. | 724 // Remove the Webrtc audio track from the Webrtc MediaStream. |
725 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = | 725 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = |
726 remote_stream->GetAudioTracks()[0].get(); | 726 remote_stream->GetAudioTracks()[0].get(); |
727 remote_stream->RemoveTrack(webrtc_track.get()); | 727 remote_stream->RemoveTrack(webrtc_track.get()); |
728 WebKit::WebVector<WebKit::WebMediaStreamTrack> modified_audio_tracks1; | 728 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; |
729 webkit_stream.audioTracks(modified_audio_tracks1); | 729 webkit_stream.audioTracks(modified_audio_tracks1); |
730 EXPECT_EQ(0u, modified_audio_tracks1.size()); | 730 EXPECT_EQ(0u, modified_audio_tracks1.size()); |
731 | 731 |
732 // Add the WebRtc audio track again. | 732 // Add the WebRtc audio track again. |
733 remote_stream->AddTrack(webrtc_track.get()); | 733 remote_stream->AddTrack(webrtc_track.get()); |
734 WebKit::WebVector<WebKit::WebMediaStreamTrack> modified_audio_tracks2; | 734 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; |
735 webkit_stream.audioTracks(modified_audio_tracks2); | 735 webkit_stream.audioTracks(modified_audio_tracks2); |
736 EXPECT_EQ(1u, modified_audio_tracks2.size()); | 736 EXPECT_EQ(1u, modified_audio_tracks2.size()); |
737 } | 737 } |
738 | 738 |
739 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { | 739 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { |
740 std::string remote_stream_label("remote_stream"); | 740 std::string remote_stream_label("remote_stream"); |
741 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 741 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
742 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); | 742 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); |
743 | 743 |
744 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 744 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
745 testing::Property(&WebKit::WebMediaStream::id, | 745 testing::Property(&blink::WebMediaStream::id, |
746 UTF8ToUTF16(remote_stream_label)))); | 746 UTF8ToUTF16(remote_stream_label)))); |
747 pc_handler_->OnAddStream(remote_stream.get()); | 747 pc_handler_->OnAddStream(remote_stream.get()); |
748 const WebKit::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 748 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
749 | 749 |
750 WebKit::WebVector<WebKit::WebMediaStreamTrack> video_tracks; | 750 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
751 webkit_stream.videoTracks(video_tracks); | 751 webkit_stream.videoTracks(video_tracks); |
752 EXPECT_EQ(1u, video_tracks.size()); | 752 EXPECT_EQ(1u, video_tracks.size()); |
753 | 753 |
754 // Remove the Webrtc video track from the Webrtc MediaStream. | 754 // Remove the Webrtc video track from the Webrtc MediaStream. |
755 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = | 755 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = |
756 remote_stream->GetVideoTracks()[0].get(); | 756 remote_stream->GetVideoTracks()[0].get(); |
757 remote_stream->RemoveTrack(webrtc_track.get()); | 757 remote_stream->RemoveTrack(webrtc_track.get()); |
758 WebKit::WebVector<WebKit::WebMediaStreamTrack> modified_video_tracks1; | 758 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; |
759 webkit_stream.videoTracks(modified_video_tracks1); | 759 webkit_stream.videoTracks(modified_video_tracks1); |
760 EXPECT_EQ(0u, modified_video_tracks1.size()); | 760 EXPECT_EQ(0u, modified_video_tracks1.size()); |
761 | 761 |
762 // Add the WebRtc video track again. | 762 // Add the WebRtc video track again. |
763 remote_stream->AddTrack(webrtc_track.get()); | 763 remote_stream->AddTrack(webrtc_track.get()); |
764 WebKit::WebVector<WebKit::WebMediaStreamTrack> modified_video_tracks2; | 764 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; |
765 webkit_stream.videoTracks(modified_video_tracks2); | 765 webkit_stream.videoTracks(modified_video_tracks2); |
766 EXPECT_EQ(1u, modified_video_tracks2.size()); | 766 EXPECT_EQ(1u, modified_video_tracks2.size()); |
767 } | 767 } |
768 | 768 |
769 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { | 769 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { |
770 testing::InSequence sequence; | 770 testing::InSequence sequence; |
771 EXPECT_CALL(*mock_tracker_.get(), | 771 EXPECT_CALL(*mock_tracker_.get(), |
772 TrackAddIceCandidate(pc_handler_.get(), _, | 772 TrackAddIceCandidate(pc_handler_.get(), _, |
773 PeerConnectionTracker::SOURCE_LOCAL)); | 773 PeerConnectionTracker::SOURCE_LOCAL)); |
774 EXPECT_CALL(*mock_client_.get(), didGenerateICECandidate(_)); | 774 EXPECT_CALL(*mock_client_.get(), didGenerateICECandidate(_)); |
775 | 775 |
776 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( | 776 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( |
777 mock_dependency_factory_->CreateIceCandidate("mid", 1, kDummySdp)); | 777 mock_dependency_factory_->CreateIceCandidate("mid", 1, kDummySdp)); |
778 pc_handler_->OnIceCandidate(native_candidate.get()); | 778 pc_handler_->OnIceCandidate(native_candidate.get()); |
779 EXPECT_EQ("mid", mock_client_->candidate_mid()); | 779 EXPECT_EQ("mid", mock_client_->candidate_mid()); |
780 EXPECT_EQ(1, mock_client_->candidate_mlineindex()); | 780 EXPECT_EQ(1, mock_client_->candidate_mlineindex()); |
781 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp()); | 781 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp()); |
782 } | 782 } |
783 | 783 |
784 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) { | 784 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) { |
785 testing::InSequence sequence; | 785 testing::InSequence sequence; |
786 EXPECT_CALL(*mock_tracker_.get(), | 786 EXPECT_CALL(*mock_tracker_.get(), |
787 TrackOnRenegotiationNeeded(pc_handler_.get())); | 787 TrackOnRenegotiationNeeded(pc_handler_.get())); |
788 EXPECT_CALL(*mock_client_.get(), negotiationNeeded()); | 788 EXPECT_CALL(*mock_client_.get(), negotiationNeeded()); |
789 pc_handler_->OnRenegotiationNeeded(); | 789 pc_handler_->OnRenegotiationNeeded(); |
790 } | 790 } |
791 | 791 |
792 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) { | 792 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) { |
793 WebKit::WebString label = "d1"; | 793 blink::WebString label = "d1"; |
794 EXPECT_CALL(*mock_tracker_.get(), | 794 EXPECT_CALL(*mock_tracker_.get(), |
795 TrackCreateDataChannel(pc_handler_.get(), | 795 TrackCreateDataChannel(pc_handler_.get(), |
796 testing::NotNull(), | 796 testing::NotNull(), |
797 PeerConnectionTracker::SOURCE_LOCAL)); | 797 PeerConnectionTracker::SOURCE_LOCAL)); |
798 scoped_ptr<WebKit::WebRTCDataChannelHandler> channel( | 798 scoped_ptr<blink::WebRTCDataChannelHandler> channel( |
799 pc_handler_->createDataChannel("d1", WebKit::WebRTCDataChannelInit())); | 799 pc_handler_->createDataChannel("d1", blink::WebRTCDataChannelInit())); |
800 EXPECT_TRUE(channel.get() != NULL); | 800 EXPECT_TRUE(channel.get() != NULL); |
801 EXPECT_EQ(label, channel->label()); | 801 EXPECT_EQ(label, channel->label()); |
802 } | 802 } |
803 | 803 |
804 TEST_F(RTCPeerConnectionHandlerTest, CreateDtmfSender) { | 804 TEST_F(RTCPeerConnectionHandlerTest, CreateDtmfSender) { |
805 std::string stream_label = "local_stream"; | 805 std::string stream_label = "local_stream"; |
806 WebKit::WebMediaStream local_stream(CreateLocalMediaStream(stream_label)); | 806 blink::WebMediaStream local_stream(CreateLocalMediaStream(stream_label)); |
807 WebKit::WebMediaConstraints constraints; | 807 blink::WebMediaConstraints constraints; |
808 pc_handler_->addStream(local_stream, constraints); | 808 pc_handler_->addStream(local_stream, constraints); |
809 | 809 |
810 WebKit::WebVector<WebKit::WebMediaStreamTrack> tracks; | 810 blink::WebVector<blink::WebMediaStreamTrack> tracks; |
811 local_stream.videoTracks(tracks); | 811 local_stream.videoTracks(tracks); |
812 | 812 |
813 ASSERT_LE(1ul, tracks.size()); | 813 ASSERT_LE(1ul, tracks.size()); |
814 EXPECT_FALSE(pc_handler_->createDTMFSender(tracks[0])); | 814 EXPECT_FALSE(pc_handler_->createDTMFSender(tracks[0])); |
815 | 815 |
816 local_stream.audioTracks(tracks); | 816 local_stream.audioTracks(tracks); |
817 ASSERT_LE(1ul, tracks.size()); | 817 ASSERT_LE(1ul, tracks.size()); |
818 | 818 |
819 EXPECT_CALL(*mock_tracker_.get(), | 819 EXPECT_CALL(*mock_tracker_.get(), |
820 TrackCreateDTMFSender(pc_handler_.get(), | 820 TrackCreateDTMFSender(pc_handler_.get(), |
821 testing::Ref(tracks[0]))); | 821 testing::Ref(tracks[0]))); |
822 | 822 |
823 scoped_ptr<WebKit::WebRTCDTMFSenderHandler> sender( | 823 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( |
824 pc_handler_->createDTMFSender(tracks[0])); | 824 pc_handler_->createDTMFSender(tracks[0])); |
825 EXPECT_TRUE(sender.get()); | 825 EXPECT_TRUE(sender.get()); |
826 } | 826 } |
827 | 827 |
828 } // namespace content | 828 } // namespace content |
OLD | NEW |