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

Side by Side Diff: content/renderer/media/rtc_peer_connection_handler_unittest.cc

Issue 675013005: Split libjingle's signaling thread from the UI thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase after landing data channel change Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
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/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h"
10 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
11 #include "base/values.h" 12 #include "base/values.h"
12 #include "content/child/child_process.h" 13 #include "content/child/child_process.h"
13 #include "content/renderer/media/media_stream.h" 14 #include "content/renderer/media/media_stream.h"
14 #include "content/renderer/media/media_stream_audio_source.h" 15 #include "content/renderer/media/media_stream_audio_source.h"
15 #include "content/renderer/media/media_stream_source.h" 16 #include "content/renderer/media/media_stream_source.h"
16 #include "content/renderer/media/media_stream_video_track.h" 17 #include "content/renderer/media/media_stream_video_track.h"
17 #include "content/renderer/media/mock_media_stream_video_source.h" 18 #include "content/renderer/media/mock_media_stream_video_source.h"
18 #include "content/renderer/media/mock_peer_connection_impl.h" 19 #include "content/renderer/media/mock_peer_connection_impl.h"
19 #include "content/renderer/media/mock_web_rtc_peer_connection_handler_client.h" 20 #include "content/renderer/media/mock_web_rtc_peer_connection_handler_client.h"
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 void(RTCPeerConnectionHandler* pc_handler)); 177 void(RTCPeerConnectionHandler* pc_handler));
177 MOCK_METHOD2(TrackCreateDTMFSender, 178 MOCK_METHOD2(TrackCreateDTMFSender,
178 void(RTCPeerConnectionHandler* pc_handler, 179 void(RTCPeerConnectionHandler* pc_handler,
179 const blink::WebMediaStreamTrack& track)); 180 const blink::WebMediaStreamTrack& track));
180 }; 181 };
181 182
182 class RTCPeerConnectionHandlerUnderTest : public RTCPeerConnectionHandler { 183 class RTCPeerConnectionHandlerUnderTest : public RTCPeerConnectionHandler {
183 public: 184 public:
184 RTCPeerConnectionHandlerUnderTest( 185 RTCPeerConnectionHandlerUnderTest(
185 WebRTCPeerConnectionHandlerClient* client, 186 WebRTCPeerConnectionHandlerClient* client,
186 PeerConnectionDependencyFactory* dependency_factory) 187 PeerConnectionDependencyFactory* dependency_factory,
187 : RTCPeerConnectionHandler(client, dependency_factory) { 188 const scoped_refptr<base::SingleThreadTaskRunner>& signaling_thread)
189 : RTCPeerConnectionHandler(client, dependency_factory, signaling_thread) {
188 } 190 }
189 191
190 MockPeerConnectionImpl* native_peer_connection() { 192 MockPeerConnectionImpl* native_peer_connection() {
191 return static_cast<MockPeerConnectionImpl*>( 193 return static_cast<MockPeerConnectionImpl*>(
192 RTCPeerConnectionHandler::native_peer_connection()); 194 RTCPeerConnectionHandler::native_peer_connection());
193 } 195 }
196
197 webrtc::PeerConnectionObserver* observer() {
198 return native_peer_connection()->observer();
199 }
194 }; 200 };
195 201
196 class RTCPeerConnectionHandlerTest : public ::testing::Test { 202 class RTCPeerConnectionHandlerTest : public ::testing::Test {
197 public: 203 public:
198 RTCPeerConnectionHandlerTest() : mock_peer_connection_(NULL) { 204 RTCPeerConnectionHandlerTest() : mock_peer_connection_(NULL) {
199 child_process_.reset(new ChildProcess()); 205 child_process_.reset(new ChildProcess());
200 } 206 }
201 207
202 void SetUp() override { 208 void SetUp() override {
203 mock_client_.reset(new NiceMock<MockWebRTCPeerConnectionHandlerClient>()); 209 mock_client_.reset(new NiceMock<MockWebRTCPeerConnectionHandlerClient>());
204 mock_dependency_factory_.reset(new MockPeerConnectionDependencyFactory()); 210 mock_dependency_factory_.reset(new MockPeerConnectionDependencyFactory());
205 pc_handler_.reset( 211 pc_handler_.reset(
206 new RTCPeerConnectionHandlerUnderTest(mock_client_.get(), 212 new RTCPeerConnectionHandlerUnderTest(
207 mock_dependency_factory_.get())); 213 mock_client_.get(), mock_dependency_factory_.get(),
214 message_loop_.message_loop_proxy()));
208 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>()); 215 mock_tracker_.reset(new NiceMock<MockPeerConnectionTracker>());
209 blink::WebRTCConfiguration config; 216 blink::WebRTCConfiguration config;
210 blink::WebMediaConstraints constraints; 217 blink::WebMediaConstraints constraints;
211 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints, 218 EXPECT_TRUE(pc_handler_->InitializeForTest(config, constraints,
212 mock_tracker_.get())); 219 mock_tracker_.get()));
213 220
214 mock_peer_connection_ = pc_handler_->native_peer_connection(); 221 mock_peer_connection_ = pc_handler_->native_peer_connection();
215 ASSERT_TRUE(mock_peer_connection_); 222 ASSERT_TRUE(mock_peer_connection_);
216 } 223 }
217 224
(...skipping 24 matching lines...) Expand all
242 new MockMediaStreamVideoSource(false); 249 new MockMediaStreamVideoSource(false);
243 video_source.setExtraData(native_video_source); 250 video_source.setExtraData(native_video_source);
244 251
245 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks( 252 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks(
246 static_cast<size_t>(1)); 253 static_cast<size_t>(1));
247 audio_tracks[0].initialize(audio_source.id(), audio_source); 254 audio_tracks[0].initialize(audio_source.id(), audio_source);
248 audio_tracks[0].setExtraData( 255 audio_tracks[0].setExtraData(
249 new MediaStreamTrack( 256 new MediaStreamTrack(
250 WebRtcLocalAudioTrackAdapter::Create(audio_track_label, 257 WebRtcLocalAudioTrackAdapter::Create(audio_track_label,
251 NULL), 258 NULL),
252 true)); 259 true));
253 blink::WebVector<blink::WebMediaStreamTrack> video_tracks( 260 blink::WebVector<blink::WebMediaStreamTrack> video_tracks(
254 static_cast<size_t>(1)); 261 static_cast<size_t>(1));
255 blink::WebMediaConstraints constraints; 262 blink::WebMediaConstraints constraints;
256 constraints.initialize(); 263 constraints.initialize();
257 video_tracks[0] = MediaStreamVideoTrack::CreateVideoTrack( 264 video_tracks[0] = MediaStreamVideoTrack::CreateVideoTrack(
258 native_video_source, constraints, 265 native_video_source, constraints,
259 MediaStreamVideoSource::ConstraintsCallback(), true); 266 MediaStreamVideoSource::ConstraintsCallback(), true);
260 267
261 blink::WebMediaStream local_stream; 268 blink::WebMediaStream local_stream;
262 local_stream.initialize(base::UTF8ToUTF16(stream_label), audio_tracks, 269 local_stream.initialize(base::UTF8ToUTF16(stream_label), audio_tracks,
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 mock_peer_connection_->local_streams()->at(0)->GetAudioTracks().size()); 467 mock_peer_connection_->local_streams()->at(0)->GetAudioTracks().size());
461 EXPECT_EQ( 468 EXPECT_EQ(
462 1u, 469 1u,
463 mock_peer_connection_->local_streams()->at(0)->GetVideoTracks().size()); 470 mock_peer_connection_->local_streams()->at(0)->GetVideoTracks().size());
464 } 471 }
465 472
466 TEST_F(RTCPeerConnectionHandlerTest, GetStatsNoSelector) { 473 TEST_F(RTCPeerConnectionHandlerTest, GetStatsNoSelector) {
467 scoped_refptr<MockRTCStatsRequest> request( 474 scoped_refptr<MockRTCStatsRequest> request(
468 new rtc::RefCountedObject<MockRTCStatsRequest>()); 475 new rtc::RefCountedObject<MockRTCStatsRequest>());
469 pc_handler_->getStats(request.get()); 476 pc_handler_->getStats(request.get());
470 // Note that callback gets executed synchronously by mock. 477 base::RunLoop().RunUntilIdle();
471 ASSERT_TRUE(request->result()); 478 ASSERT_TRUE(request->result());
472 EXPECT_LT(1, request->result()->report_count()); 479 EXPECT_LT(1, request->result()->report_count());
473 } 480 }
474 481
475 TEST_F(RTCPeerConnectionHandlerTest, GetStatsAfterClose) { 482 TEST_F(RTCPeerConnectionHandlerTest, GetStatsAfterClose) {
476 scoped_refptr<MockRTCStatsRequest> request( 483 scoped_refptr<MockRTCStatsRequest> request(
477 new rtc::RefCountedObject<MockRTCStatsRequest>()); 484 new rtc::RefCountedObject<MockRTCStatsRequest>());
478 pc_handler_->stop(); 485 pc_handler_->stop();
479 pc_handler_->getStats(request.get()); 486 pc_handler_->getStats(request.get());
480 // Note that callback gets executed synchronously by mock. 487 base::RunLoop().RunUntilIdle();
481 ASSERT_TRUE(request->result()); 488 ASSERT_TRUE(request->result());
482 EXPECT_LT(1, request->result()->report_count()); 489 EXPECT_LT(1, request->result()->report_count());
483 } 490 }
484 491
485 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithLocalSelector) { 492 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithLocalSelector) {
486 blink::WebMediaStream local_stream( 493 blink::WebMediaStream local_stream(
487 CreateLocalMediaStream("local_stream")); 494 CreateLocalMediaStream("local_stream"));
488 blink::WebMediaConstraints constraints; 495 blink::WebMediaConstraints constraints;
489 pc_handler_->addStream(local_stream, constraints); 496 pc_handler_->addStream(local_stream, constraints);
490 blink::WebVector<blink::WebMediaStreamTrack> tracks; 497 blink::WebVector<blink::WebMediaStreamTrack> tracks;
491 local_stream.audioTracks(tracks); 498 local_stream.audioTracks(tracks);
492 ASSERT_LE(1ul, tracks.size()); 499 ASSERT_LE(1ul, tracks.size());
493 500
494 scoped_refptr<MockRTCStatsRequest> request( 501 scoped_refptr<MockRTCStatsRequest> request(
495 new rtc::RefCountedObject<MockRTCStatsRequest>()); 502 new rtc::RefCountedObject<MockRTCStatsRequest>());
496 request->setSelector(tracks[0]); 503 request->setSelector(tracks[0]);
497 pc_handler_->getStats(request.get()); 504 pc_handler_->getStats(request.get());
505 base::RunLoop().RunUntilIdle();
498 EXPECT_EQ(1, request->result()->report_count()); 506 EXPECT_EQ(1, request->result()->report_count());
499 } 507 }
500 508
501 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithRemoteSelector) { 509 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithRemoteSelector) {
502 scoped_refptr<webrtc::MediaStreamInterface> stream( 510 scoped_refptr<webrtc::MediaStreamInterface> stream(
503 AddRemoteMockMediaStream("remote_stream", "video", "audio")); 511 AddRemoteMockMediaStream("remote_stream", "video", "audio"));
504 pc_handler_->OnAddStream(stream.get()); 512 pc_handler_->observer()->OnAddStream(stream.get());
513 base::RunLoop().RunUntilIdle();
505 const blink::WebMediaStream& remote_stream = mock_client_->remote_stream(); 514 const blink::WebMediaStream& remote_stream = mock_client_->remote_stream();
506 515
507 blink::WebVector<blink::WebMediaStreamTrack> tracks; 516 blink::WebVector<blink::WebMediaStreamTrack> tracks;
508 remote_stream.audioTracks(tracks); 517 remote_stream.audioTracks(tracks);
509 ASSERT_LE(1ul, tracks.size()); 518 ASSERT_LE(1ul, tracks.size());
510 519
511 scoped_refptr<MockRTCStatsRequest> request( 520 scoped_refptr<MockRTCStatsRequest> request(
512 new rtc::RefCountedObject<MockRTCStatsRequest>()); 521 new rtc::RefCountedObject<MockRTCStatsRequest>());
513 request->setSelector(tracks[0]); 522 request->setSelector(tracks[0]);
514 pc_handler_->getStats(request.get()); 523 pc_handler_->getStats(request.get());
524 base::RunLoop().RunUntilIdle();
515 EXPECT_EQ(1, request->result()->report_count()); 525 EXPECT_EQ(1, request->result()->report_count());
516 } 526 }
517 527
518 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithBadSelector) { 528 TEST_F(RTCPeerConnectionHandlerTest, GetStatsWithBadSelector) {
519 // The setup is the same as GetStatsWithLocalSelector, but the stream is not 529 // The setup is the same as GetStatsWithLocalSelector, but the stream is not
520 // added to the PeerConnection. 530 // added to the PeerConnection.
521 blink::WebMediaStream local_stream( 531 blink::WebMediaStream local_stream(
522 CreateLocalMediaStream("local_stream_2")); 532 CreateLocalMediaStream("local_stream_2"));
523 blink::WebMediaConstraints constraints; 533 blink::WebMediaConstraints constraints;
524 blink::WebVector<blink::WebMediaStreamTrack> tracks; 534 blink::WebVector<blink::WebMediaStreamTrack> tracks;
525 535
526 local_stream.audioTracks(tracks); 536 local_stream.audioTracks(tracks);
527 blink::WebMediaStreamTrack component = tracks[0]; 537 blink::WebMediaStreamTrack component = tracks[0];
528 mock_peer_connection_->SetGetStatsResult(false); 538 mock_peer_connection_->SetGetStatsResult(false);
529 539
530 scoped_refptr<MockRTCStatsRequest> request( 540 scoped_refptr<MockRTCStatsRequest> request(
531 new rtc::RefCountedObject<MockRTCStatsRequest>()); 541 new rtc::RefCountedObject<MockRTCStatsRequest>());
532 request->setSelector(component); 542 request->setSelector(component);
533 pc_handler_->getStats(request.get()); 543 pc_handler_->getStats(request.get());
544 base::RunLoop().RunUntilIdle();
534 EXPECT_EQ(0, request->result()->report_count()); 545 EXPECT_EQ(0, request->result()->report_count());
535 } 546 }
536 547
537 TEST_F(RTCPeerConnectionHandlerTest, OnSignalingChange) { 548 TEST_F(RTCPeerConnectionHandlerTest, OnSignalingChange) {
538 testing::InSequence sequence; 549 testing::InSequence sequence;
539 550
540 webrtc::PeerConnectionInterface::SignalingState new_state = 551 webrtc::PeerConnectionInterface::SignalingState new_state =
541 webrtc::PeerConnectionInterface::kHaveRemoteOffer; 552 webrtc::PeerConnectionInterface::kHaveRemoteOffer;
542 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange( 553 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange(
543 pc_handler_.get(), 554 pc_handler_.get(),
544 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer)); 555 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer));
545 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState( 556 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState(
546 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer)); 557 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer));
547 pc_handler_->OnSignalingChange(new_state); 558 pc_handler_->observer()->OnSignalingChange(new_state);
548 559
549 new_state = webrtc::PeerConnectionInterface::kHaveLocalPrAnswer; 560 new_state = webrtc::PeerConnectionInterface::kHaveLocalPrAnswer;
550 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange( 561 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange(
551 pc_handler_.get(), 562 pc_handler_.get(),
552 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer)); 563 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer));
553 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState( 564 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState(
554 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer)); 565 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer));
555 pc_handler_->OnSignalingChange(new_state); 566 pc_handler_->observer()->OnSignalingChange(new_state);
556 567
557 new_state = webrtc::PeerConnectionInterface::kHaveLocalOffer; 568 new_state = webrtc::PeerConnectionInterface::kHaveLocalOffer;
558 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange( 569 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange(
559 pc_handler_.get(), 570 pc_handler_.get(),
560 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer)); 571 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer));
561 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState( 572 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState(
562 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer)); 573 WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer));
563 pc_handler_->OnSignalingChange(new_state); 574 pc_handler_->observer()->OnSignalingChange(new_state);
564 575
565 new_state = webrtc::PeerConnectionInterface::kHaveRemotePrAnswer; 576 new_state = webrtc::PeerConnectionInterface::kHaveRemotePrAnswer;
566 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange( 577 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange(
567 pc_handler_.get(), 578 pc_handler_.get(),
568 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer)); 579 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer));
569 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState( 580 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState(
570 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer)); 581 WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer));
571 pc_handler_->OnSignalingChange(new_state); 582 pc_handler_->observer()->OnSignalingChange(new_state);
572 583
573 new_state = webrtc::PeerConnectionInterface::kClosed; 584 new_state = webrtc::PeerConnectionInterface::kClosed;
574 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange( 585 EXPECT_CALL(*mock_tracker_.get(), TrackSignalingStateChange(
575 pc_handler_.get(), 586 pc_handler_.get(),
576 WebRTCPeerConnectionHandlerClient::SignalingStateClosed)); 587 WebRTCPeerConnectionHandlerClient::SignalingStateClosed));
577 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState( 588 EXPECT_CALL(*mock_client_.get(), didChangeSignalingState(
578 WebRTCPeerConnectionHandlerClient::SignalingStateClosed)); 589 WebRTCPeerConnectionHandlerClient::SignalingStateClosed));
579 pc_handler_->OnSignalingChange(new_state); 590 pc_handler_->observer()->OnSignalingChange(new_state);
580 } 591 }
581 592
582 TEST_F(RTCPeerConnectionHandlerTest, OnIceConnectionChange) { 593 TEST_F(RTCPeerConnectionHandlerTest, OnIceConnectionChange) {
583 testing::InSequence sequence; 594 testing::InSequence sequence;
584 595
585 webrtc::PeerConnectionInterface::IceConnectionState new_state = 596 webrtc::PeerConnectionInterface::IceConnectionState new_state =
586 webrtc::PeerConnectionInterface::kIceConnectionNew; 597 webrtc::PeerConnectionInterface::kIceConnectionNew;
587 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 598 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
588 pc_handler_.get(), 599 pc_handler_.get(),
589 WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting)); 600 WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting));
590 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 601 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
591 WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting)); 602 WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting));
592 pc_handler_->OnIceConnectionChange(new_state); 603 pc_handler_->observer()->OnIceConnectionChange(new_state);
593 604
594 new_state = webrtc::PeerConnectionInterface::kIceConnectionChecking; 605 new_state = webrtc::PeerConnectionInterface::kIceConnectionChecking;
595 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 606 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
596 pc_handler_.get(), 607 pc_handler_.get(),
597 WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking)); 608 WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking));
598 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 609 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
599 WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking)); 610 WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking));
600 pc_handler_->OnIceConnectionChange(new_state); 611 pc_handler_->observer()->OnIceConnectionChange(new_state);
601 612
602 new_state = webrtc::PeerConnectionInterface::kIceConnectionConnected; 613 new_state = webrtc::PeerConnectionInterface::kIceConnectionConnected;
603 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 614 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
604 pc_handler_.get(), 615 pc_handler_.get(),
605 WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected)); 616 WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected));
606 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 617 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
607 WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected)); 618 WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected));
608 pc_handler_->OnIceConnectionChange(new_state); 619 pc_handler_->observer()->OnIceConnectionChange(new_state);
609 620
610 new_state = webrtc::PeerConnectionInterface::kIceConnectionCompleted; 621 new_state = webrtc::PeerConnectionInterface::kIceConnectionCompleted;
611 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 622 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
612 pc_handler_.get(), 623 pc_handler_.get(),
613 WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted)); 624 WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted));
614 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 625 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
615 WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted)); 626 WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted));
616 pc_handler_->OnIceConnectionChange(new_state); 627 pc_handler_->observer()->OnIceConnectionChange(new_state);
617 628
618 new_state = webrtc::PeerConnectionInterface::kIceConnectionFailed; 629 new_state = webrtc::PeerConnectionInterface::kIceConnectionFailed;
619 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 630 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
620 pc_handler_.get(), 631 pc_handler_.get(),
621 WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed)); 632 WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed));
622 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 633 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
623 WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed)); 634 WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed));
624 pc_handler_->OnIceConnectionChange(new_state); 635 pc_handler_->observer()->OnIceConnectionChange(new_state);
625 636
626 new_state = webrtc::PeerConnectionInterface::kIceConnectionDisconnected; 637 new_state = webrtc::PeerConnectionInterface::kIceConnectionDisconnected;
627 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 638 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
628 pc_handler_.get(), 639 pc_handler_.get(),
629 WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected)); 640 WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected));
630 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 641 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
631 WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected)); 642 WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected));
632 pc_handler_->OnIceConnectionChange(new_state); 643 pc_handler_->observer()->OnIceConnectionChange(new_state);
633 644
634 new_state = webrtc::PeerConnectionInterface::kIceConnectionClosed; 645 new_state = webrtc::PeerConnectionInterface::kIceConnectionClosed;
635 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange( 646 EXPECT_CALL(*mock_tracker_.get(), TrackIceConnectionStateChange(
636 pc_handler_.get(), 647 pc_handler_.get(),
637 WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed)); 648 WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed));
638 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState( 649 EXPECT_CALL(*mock_client_.get(), didChangeICEConnectionState(
639 WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed)); 650 WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed));
640 pc_handler_->OnIceConnectionChange(new_state); 651 pc_handler_->observer()->OnIceConnectionChange(new_state);
641 } 652 }
642 653
643 TEST_F(RTCPeerConnectionHandlerTest, OnIceGatheringChange) { 654 TEST_F(RTCPeerConnectionHandlerTest, OnIceGatheringChange) {
644 testing::InSequence sequence; 655 testing::InSequence sequence;
645 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange( 656 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange(
646 pc_handler_.get(), 657 pc_handler_.get(),
647 WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew)); 658 WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew));
648 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState( 659 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState(
649 WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew)); 660 WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew));
650 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange( 661 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange(
651 pc_handler_.get(), 662 pc_handler_.get(),
652 WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering)); 663 WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering));
653 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState( 664 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState(
654 WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering)); 665 WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering));
655 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange( 666 EXPECT_CALL(*mock_tracker_.get(), TrackIceGatheringStateChange(
656 pc_handler_.get(), 667 pc_handler_.get(),
657 WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete)); 668 WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete));
658 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState( 669 EXPECT_CALL(*mock_client_.get(), didChangeICEGatheringState(
659 WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete)); 670 WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete));
660 671
661 webrtc::PeerConnectionInterface::IceGatheringState new_state = 672 webrtc::PeerConnectionInterface::IceGatheringState new_state =
662 webrtc::PeerConnectionInterface::kIceGatheringNew; 673 webrtc::PeerConnectionInterface::kIceGatheringNew;
663 pc_handler_->OnIceGatheringChange(new_state); 674 pc_handler_->observer()->OnIceGatheringChange(new_state);
664 675
665 new_state = webrtc::PeerConnectionInterface::kIceGatheringGathering; 676 new_state = webrtc::PeerConnectionInterface::kIceGatheringGathering;
666 pc_handler_->OnIceGatheringChange(new_state); 677 pc_handler_->observer()->OnIceGatheringChange(new_state);
667 678
668 new_state = webrtc::PeerConnectionInterface::kIceGatheringComplete; 679 new_state = webrtc::PeerConnectionInterface::kIceGatheringComplete;
669 pc_handler_->OnIceGatheringChange(new_state); 680 pc_handler_->observer()->OnIceGatheringChange(new_state);
670 681
671 // Check NULL candidate after ice gathering is completed. 682 // Check NULL candidate after ice gathering is completed.
672 EXPECT_EQ("", mock_client_->candidate_mid()); 683 EXPECT_EQ("", mock_client_->candidate_mid());
673 EXPECT_EQ(-1, mock_client_->candidate_mlineindex()); 684 EXPECT_EQ(-1, mock_client_->candidate_mlineindex());
674 EXPECT_EQ("", mock_client_->candidate_sdp()); 685 EXPECT_EQ("", mock_client_->candidate_sdp());
675 } 686 }
676 687
677 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { 688 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) {
678 std::string remote_stream_label("remote_stream"); 689 std::string remote_stream_label("remote_stream");
679 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( 690 scoped_refptr<webrtc::MediaStreamInterface> remote_stream(
(...skipping 11 matching lines...) Expand all
691 702
692 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream( 703 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream(
693 pc_handler_.get(), 704 pc_handler_.get(),
694 testing::Property(&blink::WebMediaStream::id, 705 testing::Property(&blink::WebMediaStream::id,
695 base::UTF8ToUTF16(remote_stream_label)), 706 base::UTF8ToUTF16(remote_stream_label)),
696 PeerConnectionTracker::SOURCE_REMOTE)); 707 PeerConnectionTracker::SOURCE_REMOTE));
697 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream( 708 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream(
698 testing::Property(&blink::WebMediaStream::id, 709 testing::Property(&blink::WebMediaStream::id,
699 base::UTF8ToUTF16(remote_stream_label)))); 710 base::UTF8ToUTF16(remote_stream_label))));
700 711
701 pc_handler_->OnAddStream(remote_stream.get()); 712 pc_handler_->observer()->OnAddStream(remote_stream.get());
702 pc_handler_->OnRemoveStream(remote_stream.get()); 713 base::RunLoop().RunUntilIdle();
714 pc_handler_->observer()->OnRemoveStream(remote_stream.get());
715 base::RunLoop().RunUntilIdle();
703 } 716 }
704 717
705 // This test that WebKit is notified about remote track state changes. 718 // This test that WebKit is notified about remote track state changes.
706 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) { 719 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) {
707 std::string remote_stream_label("remote_stream"); 720 std::string remote_stream_label("remote_stream");
708 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( 721 scoped_refptr<webrtc::MediaStreamInterface> remote_stream(
709 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); 722 AddRemoteMockMediaStream(remote_stream_label, "video", "audio"));
710 723
711 testing::InSequence sequence; 724 testing::InSequence sequence;
712 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( 725 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream(
713 testing::Property(&blink::WebMediaStream::id, 726 testing::Property(&blink::WebMediaStream::id,
714 base::UTF8ToUTF16(remote_stream_label)))); 727 base::UTF8ToUTF16(remote_stream_label))));
715 pc_handler_->OnAddStream(remote_stream.get()); 728 pc_handler_->observer()->OnAddStream(remote_stream.get());
729 base::RunLoop().RunUntilIdle();
716 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); 730 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream();
717 731
718 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; 732 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
719 webkit_stream.audioTracks(audio_tracks); 733 webkit_stream.audioTracks(audio_tracks);
720 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, 734 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive,
721 audio_tracks[0].source().readyState()); 735 audio_tracks[0].source().readyState());
722 736
723 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; 737 blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
724 webkit_stream.videoTracks(video_tracks); 738 webkit_stream.videoTracks(video_tracks);
725 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, 739 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive,
726 video_tracks[0].source().readyState()); 740 video_tracks[0].source().readyState());
727 741
728 remote_stream->GetAudioTracks()[0]->set_state( 742 remote_stream->GetAudioTracks()[0]->set_state(
729 webrtc::MediaStreamTrackInterface::kEnded); 743 webrtc::MediaStreamTrackInterface::kEnded);
744 base::RunLoop().RunUntilIdle();
730 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, 745 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded,
731 audio_tracks[0].source().readyState()); 746 audio_tracks[0].source().readyState());
732 747
733 remote_stream->GetVideoTracks()[0]->set_state( 748 remote_stream->GetVideoTracks()[0]->set_state(
734 webrtc::MediaStreamTrackInterface::kEnded); 749 webrtc::MediaStreamTrackInterface::kEnded);
750 base::RunLoop().RunUntilIdle();
735 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded, 751 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateEnded,
736 video_tracks[0].source().readyState()); 752 video_tracks[0].source().readyState());
737 } 753 }
738 754
739 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) { 755 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) {
740 std::string remote_stream_label("remote_stream"); 756 std::string remote_stream_label("remote_stream");
741 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( 757 scoped_refptr<webrtc::MediaStreamInterface> remote_stream(
742 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); 758 AddRemoteMockMediaStream(remote_stream_label, "video", "audio"));
743 759
744 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( 760 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream(
745 testing::Property(&blink::WebMediaStream::id, 761 testing::Property(&blink::WebMediaStream::id,
746 base::UTF8ToUTF16(remote_stream_label)))); 762 base::UTF8ToUTF16(remote_stream_label))));
747 pc_handler_->OnAddStream(remote_stream.get()); 763 pc_handler_->observer()->OnAddStream(remote_stream.get());
764 base::RunLoop().RunUntilIdle();
748 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); 765 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream();
749 766
750 { 767 {
751 // Test in a small scope so that |audio_tracks| don't hold on to destroyed 768 // Test in a small scope so that |audio_tracks| don't hold on to destroyed
752 // source later. 769 // source later.
753 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; 770 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
754 webkit_stream.audioTracks(audio_tracks); 771 webkit_stream.audioTracks(audio_tracks);
755 EXPECT_EQ(1u, audio_tracks.size()); 772 EXPECT_EQ(1u, audio_tracks.size());
756 } 773 }
757 774
758 // Remove the Webrtc audio track from the Webrtc MediaStream. 775 // Remove the Webrtc audio track from the Webrtc MediaStream.
759 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = 776 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track =
760 remote_stream->GetAudioTracks()[0].get(); 777 remote_stream->GetAudioTracks()[0].get();
761 remote_stream->RemoveTrack(webrtc_track.get()); 778 remote_stream->RemoveTrack(webrtc_track.get());
779 base::RunLoop().RunUntilIdle();
762 780
763 { 781 {
764 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; 782 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1;
765 webkit_stream.audioTracks(modified_audio_tracks1); 783 webkit_stream.audioTracks(modified_audio_tracks1);
766 EXPECT_EQ(0u, modified_audio_tracks1.size()); 784 EXPECT_EQ(0u, modified_audio_tracks1.size());
767 } 785 }
768 786
769 blink::WebHeap::collectGarbageForTesting(); 787 blink::WebHeap::collectGarbageForTesting();
770 788
771 // Add the WebRtc audio track again. 789 // Add the WebRtc audio track again.
772 remote_stream->AddTrack(webrtc_track.get()); 790 remote_stream->AddTrack(webrtc_track.get());
791 base::RunLoop().RunUntilIdle();
773 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; 792 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2;
774 webkit_stream.audioTracks(modified_audio_tracks2); 793 webkit_stream.audioTracks(modified_audio_tracks2);
775 EXPECT_EQ(1u, modified_audio_tracks2.size()); 794 EXPECT_EQ(1u, modified_audio_tracks2.size());
776 } 795 }
777 796
778 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { 797 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) {
779 std::string remote_stream_label("remote_stream"); 798 std::string remote_stream_label("remote_stream");
780 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( 799 scoped_refptr<webrtc::MediaStreamInterface> remote_stream(
781 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); 800 AddRemoteMockMediaStream(remote_stream_label, "video", "video"));
782 801
783 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( 802 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream(
784 testing::Property(&blink::WebMediaStream::id, 803 testing::Property(&blink::WebMediaStream::id,
785 base::UTF8ToUTF16(remote_stream_label)))); 804 base::UTF8ToUTF16(remote_stream_label))));
786 pc_handler_->OnAddStream(remote_stream.get()); 805 pc_handler_->observer()->OnAddStream(remote_stream.get());
806 base::RunLoop().RunUntilIdle();
787 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); 807 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream();
788 808
789 { 809 {
790 // Test in a small scope so that |video_tracks| don't hold on to destroyed 810 // Test in a small scope so that |video_tracks| don't hold on to destroyed
791 // source later. 811 // source later.
792 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; 812 blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
793 webkit_stream.videoTracks(video_tracks); 813 webkit_stream.videoTracks(video_tracks);
794 EXPECT_EQ(1u, video_tracks.size()); 814 EXPECT_EQ(1u, video_tracks.size());
795 } 815 }
796 816
797 // Remove the Webrtc video track from the Webrtc MediaStream. 817 // Remove the Webrtc video track from the Webrtc MediaStream.
798 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = 818 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track =
799 remote_stream->GetVideoTracks()[0].get(); 819 remote_stream->GetVideoTracks()[0].get();
800 remote_stream->RemoveTrack(webrtc_track.get()); 820 remote_stream->RemoveTrack(webrtc_track.get());
821 base::RunLoop().RunUntilIdle();
801 { 822 {
802 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; 823 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1;
803 webkit_stream.videoTracks(modified_video_tracks1); 824 webkit_stream.videoTracks(modified_video_tracks1);
804 EXPECT_EQ(0u, modified_video_tracks1.size()); 825 EXPECT_EQ(0u, modified_video_tracks1.size());
805 } 826 }
806 827
807 blink::WebHeap::collectGarbageForTesting(); 828 blink::WebHeap::collectGarbageForTesting();
808 829
809 // Add the WebRtc video track again. 830 // Add the WebRtc video track again.
810 remote_stream->AddTrack(webrtc_track.get()); 831 remote_stream->AddTrack(webrtc_track.get());
832 base::RunLoop().RunUntilIdle();
811 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; 833 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2;
812 webkit_stream.videoTracks(modified_video_tracks2); 834 webkit_stream.videoTracks(modified_video_tracks2);
813 EXPECT_EQ(1u, modified_video_tracks2.size()); 835 EXPECT_EQ(1u, modified_video_tracks2.size());
814 } 836 }
815 837
816 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { 838 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) {
817 testing::InSequence sequence; 839 testing::InSequence sequence;
818 EXPECT_CALL(*mock_tracker_.get(), 840 EXPECT_CALL(*mock_tracker_.get(),
819 TrackAddIceCandidate(pc_handler_.get(), _, 841 TrackAddIceCandidate(pc_handler_.get(), _,
820 PeerConnectionTracker::SOURCE_LOCAL, true)); 842 PeerConnectionTracker::SOURCE_LOCAL, true));
821 EXPECT_CALL(*mock_client_.get(), didGenerateICECandidate(_)); 843 EXPECT_CALL(*mock_client_.get(), didGenerateICECandidate(_));
822 844
823 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( 845 scoped_ptr<webrtc::IceCandidateInterface> native_candidate(
824 mock_dependency_factory_->CreateIceCandidate("sdpMid", 1, kDummySdp)); 846 mock_dependency_factory_->CreateIceCandidate("sdpMid", 1, kDummySdp));
825 pc_handler_->OnIceCandidate(native_candidate.get()); 847 pc_handler_->observer()->OnIceCandidate(native_candidate.get());
848 base::RunLoop().RunUntilIdle();
826 EXPECT_EQ("sdpMid", mock_client_->candidate_mid()); 849 EXPECT_EQ("sdpMid", mock_client_->candidate_mid());
827 EXPECT_EQ(1, mock_client_->candidate_mlineindex()); 850 EXPECT_EQ(1, mock_client_->candidate_mlineindex());
828 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp()); 851 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp());
829 } 852 }
830 853
831 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) { 854 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) {
832 testing::InSequence sequence; 855 testing::InSequence sequence;
833 EXPECT_CALL(*mock_tracker_.get(), 856 EXPECT_CALL(*mock_tracker_.get(),
834 TrackOnRenegotiationNeeded(pc_handler_.get())); 857 TrackOnRenegotiationNeeded(pc_handler_.get()));
835 EXPECT_CALL(*mock_client_.get(), negotiationNeeded()); 858 EXPECT_CALL(*mock_client_.get(), negotiationNeeded());
836 pc_handler_->OnRenegotiationNeeded(); 859 pc_handler_->observer()->OnRenegotiationNeeded();
837 } 860 }
838 861
839 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) { 862 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) {
840 blink::WebString label = "d1"; 863 blink::WebString label = "d1";
841 EXPECT_CALL(*mock_tracker_.get(), 864 EXPECT_CALL(*mock_tracker_.get(),
842 TrackCreateDataChannel(pc_handler_.get(), 865 TrackCreateDataChannel(pc_handler_.get(),
843 testing::NotNull(), 866 testing::NotNull(),
844 PeerConnectionTracker::SOURCE_LOCAL)); 867 PeerConnectionTracker::SOURCE_LOCAL));
845 scoped_ptr<blink::WebRTCDataChannelHandler> channel( 868 scoped_ptr<blink::WebRTCDataChannelHandler> channel(
846 pc_handler_->createDataChannel("d1", blink::WebRTCDataChannelInit())); 869 pc_handler_->createDataChannel("d1", blink::WebRTCDataChannelInit()));
(...skipping 19 matching lines...) Expand all
866 EXPECT_CALL(*mock_tracker_.get(), 889 EXPECT_CALL(*mock_tracker_.get(),
867 TrackCreateDTMFSender(pc_handler_.get(), 890 TrackCreateDTMFSender(pc_handler_.get(),
868 testing::Ref(tracks[0]))); 891 testing::Ref(tracks[0])));
869 892
870 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( 893 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender(
871 pc_handler_->createDTMFSender(tracks[0])); 894 pc_handler_->createDTMFSender(tracks[0]));
872 EXPECT_TRUE(sender.get()); 895 EXPECT_TRUE(sender.get());
873 } 896 }
874 897
875 } // namespace content 898 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698