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 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 if (!audio_track_label.empty()) { | 281 if (!audio_track_label.empty()) { |
282 scoped_refptr<WebRtcAudioCapturer> capturer; | 282 scoped_refptr<WebRtcAudioCapturer> capturer; |
283 scoped_refptr<webrtc::AudioTrackInterface> audio_track( | 283 scoped_refptr<webrtc::AudioTrackInterface> audio_track( |
284 WebRtcLocalAudioTrackAdapter::Create(audio_track_label, NULL)); | 284 WebRtcLocalAudioTrackAdapter::Create(audio_track_label, NULL)); |
285 stream->AddTrack(audio_track.get()); | 285 stream->AddTrack(audio_track.get()); |
286 } | 286 } |
287 mock_peer_connection_->AddRemoteStream(stream.get()); | 287 mock_peer_connection_->AddRemoteStream(stream.get()); |
288 return stream; | 288 return stream; |
289 } | 289 } |
290 | 290 |
291 base::MessageLoop message_loop_; | |
292 scoped_ptr<MockWebRTCPeerConnectionHandlerClient> mock_client_; | 291 scoped_ptr<MockWebRTCPeerConnectionHandlerClient> mock_client_; |
293 scoped_ptr<MockMediaStreamDependencyFactory> mock_dependency_factory_; | 292 scoped_ptr<MockMediaStreamDependencyFactory> mock_dependency_factory_; |
294 scoped_ptr<NiceMock<MockPeerConnectionTracker> > mock_tracker_; | 293 scoped_ptr<NiceMock<MockPeerConnectionTracker> > mock_tracker_; |
295 scoped_ptr<RTCPeerConnectionHandlerUnderTest> pc_handler_; | 294 scoped_ptr<RTCPeerConnectionHandlerUnderTest> pc_handler_; |
296 | 295 |
297 // Weak reference to the mocked native peer connection implementation. | 296 // Weak reference to the mocked native peer connection implementation. |
298 MockPeerConnectionImpl* mock_peer_connection_; | 297 MockPeerConnectionImpl* mock_peer_connection_; |
299 }; | 298 }; |
300 | 299 |
301 TEST_F(RTCPeerConnectionHandlerTest, Destruct) { | 300 TEST_F(RTCPeerConnectionHandlerTest, Destruct) { |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 std::string remote_stream_label("remote_stream"); | 732 std::string remote_stream_label("remote_stream"); |
734 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 733 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
735 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 734 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
736 | 735 |
737 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 736 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
738 testing::Property(&blink::WebMediaStream::id, | 737 testing::Property(&blink::WebMediaStream::id, |
739 base::UTF8ToUTF16(remote_stream_label)))); | 738 base::UTF8ToUTF16(remote_stream_label)))); |
740 pc_handler_->OnAddStream(remote_stream.get()); | 739 pc_handler_->OnAddStream(remote_stream.get()); |
741 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 740 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
742 | 741 |
743 { | 742 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
744 // Test in a small scope so that |audio_tracks| don't hold on to destroyed | 743 webkit_stream.audioTracks(audio_tracks); |
745 // source later. | 744 EXPECT_EQ(1u, audio_tracks.size()); |
746 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; | |
747 webkit_stream.audioTracks(audio_tracks); | |
748 EXPECT_EQ(1u, audio_tracks.size()); | |
749 } | |
750 | 745 |
751 // Remove the Webrtc audio track from the Webrtc MediaStream. | 746 // Remove the Webrtc audio track from the Webrtc MediaStream. |
752 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = | 747 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = |
753 remote_stream->GetAudioTracks()[0].get(); | 748 remote_stream->GetAudioTracks()[0].get(); |
754 remote_stream->RemoveTrack(webrtc_track.get()); | 749 remote_stream->RemoveTrack(webrtc_track.get()); |
755 | 750 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; |
756 { | 751 webkit_stream.audioTracks(modified_audio_tracks1); |
757 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; | 752 EXPECT_EQ(0u, modified_audio_tracks1.size()); |
758 webkit_stream.audioTracks(modified_audio_tracks1); | |
759 EXPECT_EQ(0u, modified_audio_tracks1.size()); | |
760 } | |
761 | 753 |
762 // Add the WebRtc audio track again. | 754 // Add the WebRtc audio track again. |
763 remote_stream->AddTrack(webrtc_track.get()); | 755 remote_stream->AddTrack(webrtc_track.get()); |
764 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; | 756 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; |
765 webkit_stream.audioTracks(modified_audio_tracks2); | 757 webkit_stream.audioTracks(modified_audio_tracks2); |
766 EXPECT_EQ(1u, modified_audio_tracks2.size()); | 758 EXPECT_EQ(1u, modified_audio_tracks2.size()); |
767 } | 759 } |
768 | 760 |
769 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { | 761 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { |
770 std::string remote_stream_label("remote_stream"); | 762 std::string remote_stream_label("remote_stream"); |
771 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 763 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
772 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); | 764 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); |
773 | 765 |
774 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 766 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
775 testing::Property(&blink::WebMediaStream::id, | 767 testing::Property(&blink::WebMediaStream::id, |
776 base::UTF8ToUTF16(remote_stream_label)))); | 768 base::UTF8ToUTF16(remote_stream_label)))); |
777 pc_handler_->OnAddStream(remote_stream.get()); | 769 pc_handler_->OnAddStream(remote_stream.get()); |
778 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 770 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
779 | 771 |
780 { | 772 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
781 // Test in a small scope so that |video_tracks| don't hold on to destroyed | 773 webkit_stream.videoTracks(video_tracks); |
782 // source later. | 774 EXPECT_EQ(1u, video_tracks.size()); |
783 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; | |
784 webkit_stream.videoTracks(video_tracks); | |
785 EXPECT_EQ(1u, video_tracks.size()); | |
786 } | |
787 | 775 |
788 // Remove the Webrtc video track from the Webrtc MediaStream. | 776 // Remove the Webrtc video track from the Webrtc MediaStream. |
789 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = | 777 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = |
790 remote_stream->GetVideoTracks()[0].get(); | 778 remote_stream->GetVideoTracks()[0].get(); |
791 remote_stream->RemoveTrack(webrtc_track.get()); | 779 remote_stream->RemoveTrack(webrtc_track.get()); |
792 { | 780 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; |
793 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks1; | 781 webkit_stream.videoTracks(modified_video_tracks1); |
794 webkit_stream.videoTracks(modified_video_tracks1); | 782 EXPECT_EQ(0u, modified_video_tracks1.size()); |
795 EXPECT_EQ(0u, modified_video_tracks1.size()); | |
796 } | |
797 | 783 |
798 // Add the WebRtc video track again. | 784 // Add the WebRtc video track again. |
799 remote_stream->AddTrack(webrtc_track.get()); | 785 remote_stream->AddTrack(webrtc_track.get()); |
800 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; | 786 blink::WebVector<blink::WebMediaStreamTrack> modified_video_tracks2; |
801 webkit_stream.videoTracks(modified_video_tracks2); | 787 webkit_stream.videoTracks(modified_video_tracks2); |
802 EXPECT_EQ(1u, modified_video_tracks2.size()); | 788 EXPECT_EQ(1u, modified_video_tracks2.size()); |
803 } | 789 } |
804 | 790 |
805 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { | 791 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { |
806 testing::InSequence sequence; | 792 testing::InSequence sequence; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 EXPECT_CALL(*mock_tracker_.get(), | 841 EXPECT_CALL(*mock_tracker_.get(), |
856 TrackCreateDTMFSender(pc_handler_.get(), | 842 TrackCreateDTMFSender(pc_handler_.get(), |
857 testing::Ref(tracks[0]))); | 843 testing::Ref(tracks[0]))); |
858 | 844 |
859 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( | 845 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( |
860 pc_handler_->createDTMFSender(tracks[0])); | 846 pc_handler_->createDTMFSender(tracks[0])); |
861 EXPECT_TRUE(sender.get()); | 847 EXPECT_TRUE(sender.get()); |
862 } | 848 } |
863 | 849 |
864 } // namespace content | 850 } // namespace content |
OLD | NEW |