| 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 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "content/renderer/media/media_stream_extra_data.h" | 10 #include "content/renderer/media/media_stream_extra_data.h" |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 440 WebKit::WebMediaStreamTrack component = tracks[0]; | 440 WebKit::WebMediaStreamTrack component = tracks[0]; |
| 441 EXPECT_EQ(0u, mock_peer_connection_->local_streams()->count()); | 441 EXPECT_EQ(0u, mock_peer_connection_->local_streams()->count()); |
| 442 | 442 |
| 443 scoped_refptr<MockRTCStatsRequest> request( | 443 scoped_refptr<MockRTCStatsRequest> request( |
| 444 new talk_base::RefCountedObject<MockRTCStatsRequest>()); | 444 new talk_base::RefCountedObject<MockRTCStatsRequest>()); |
| 445 request->setSelector(local_stream, component); | 445 request->setSelector(local_stream, component); |
| 446 pc_handler_->getStats(request.get()); | 446 pc_handler_->getStats(request.get()); |
| 447 EXPECT_EQ(0, request->result()->report_count()); | 447 EXPECT_EQ(0, request->result()->report_count()); |
| 448 } | 448 } |
| 449 | 449 |
| 450 TEST_F(RTCPeerConnectionHandlerTest, OnStateChange) { | 450 TEST_F(RTCPeerConnectionHandlerTest, OnSignalingChange) { |
| 451 // Signaling states. | |
| 452 webrtc::PeerConnectionObserver::StateType state_type = | |
| 453 webrtc::PeerConnectionObserver::kSignalingState; | |
| 454 | |
| 455 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateStable, | 451 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateStable, |
| 456 mock_client_->signaling_state()); | 452 mock_client_->signaling_state()); |
| 457 | 453 |
| 458 mock_peer_connection_->SetSignalingState( | 454 webrtc::PeerConnectionInterface::SignalingState new_state = |
| 459 webrtc::PeerConnectionInterface::kHaveRemoteOffer); | 455 webrtc::PeerConnectionInterface::kHaveRemoteOffer; |
| 460 pc_handler_->OnStateChange(state_type); | 456 pc_handler_->OnSignalingChange(new_state); |
| 461 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer, | 457 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemoteOffer, |
| 462 mock_client_->signaling_state()); | 458 mock_client_->signaling_state()); |
| 463 | 459 |
| 464 mock_peer_connection_->SetSignalingState( | 460 new_state = webrtc::PeerConnectionInterface::kHaveLocalPrAnswer; |
| 465 webrtc::PeerConnectionInterface::kHaveLocalPrAnswer); | 461 pc_handler_->OnSignalingChange(new_state); |
| 466 pc_handler_->OnStateChange(state_type); | |
| 467 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer, | 462 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalPrAnswer, |
| 468 mock_client_->signaling_state()); | 463 mock_client_->signaling_state()); |
| 469 | 464 |
| 470 mock_peer_connection_->SetSignalingState( | 465 new_state = webrtc::PeerConnectionInterface::kHaveLocalOffer; |
| 471 webrtc::PeerConnectionInterface::kHaveLocalOffer); | 466 pc_handler_->OnSignalingChange(new_state); |
| 472 pc_handler_->OnStateChange(state_type); | |
| 473 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer, | 467 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveLocalOffer, |
| 474 mock_client_->signaling_state()); | 468 mock_client_->signaling_state()); |
| 475 | 469 |
| 476 mock_peer_connection_->SetSignalingState( | 470 new_state = webrtc::PeerConnectionInterface::kHaveRemotePrAnswer; |
| 477 webrtc::PeerConnectionInterface::kHaveRemotePrAnswer); | 471 pc_handler_->OnSignalingChange(new_state); |
| 478 pc_handler_->OnStateChange(state_type); | |
| 479 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer, | 472 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateHaveRemotePrAnswer, |
| 480 mock_client_->signaling_state()); | 473 mock_client_->signaling_state()); |
| 481 | 474 |
| 482 mock_peer_connection_->SetSignalingState( | 475 new_state = webrtc::PeerConnectionInterface::kClosed; |
| 483 webrtc::PeerConnectionInterface::kClosed); | 476 pc_handler_->OnSignalingChange(new_state); |
| 484 pc_handler_->OnStateChange(state_type); | |
| 485 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateClosed, | 477 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::SignalingStateClosed, |
| 486 mock_client_->signaling_state()); | 478 mock_client_->signaling_state()); |
| 479 } |
| 487 | 480 |
| 488 // Ice states. | 481 TEST_F(RTCPeerConnectionHandlerTest, OnIceConnectionChange) { |
| 489 state_type = webrtc::PeerConnectionObserver::kIceState; | 482 webrtc::PeerConnectionInterface::IceConnectionState new_state = |
| 490 mock_peer_connection_->SetIceState( | 483 webrtc::PeerConnectionInterface::kIceConnectionNew; |
| 491 webrtc::PeerConnectionInterface::kIceGathering); | 484 pc_handler_->OnIceConnectionChange(new_state); |
| 492 pc_handler_->OnStateChange(state_type); | 485 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateStarting, |
| 493 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateGathering, | 486 mock_client_->ice_connection_state()); |
| 494 mock_client_->ice_state()); | 487 |
| 495 mock_peer_connection_->SetIceState( | 488 new_state = webrtc::PeerConnectionInterface::kIceConnectionChecking; |
| 496 webrtc::PeerConnectionInterface::kIceWaiting); | 489 pc_handler_->OnIceConnectionChange(new_state); |
| 497 pc_handler_->OnStateChange(state_type); | 490 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateChecking, |
| 498 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateWaiting, | 491 mock_client_->ice_connection_state()); |
| 499 mock_client_->ice_state()); | 492 |
| 500 mock_peer_connection_->SetIceState( | 493 new_state = webrtc::PeerConnectionInterface::kIceConnectionConnected; |
| 501 webrtc::PeerConnectionInterface::kIceChecking); | 494 pc_handler_->OnIceConnectionChange(new_state); |
| 502 pc_handler_->OnStateChange(state_type); | 495 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateConnected, |
| 503 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateChecking, | 496 mock_client_->ice_connection_state()); |
| 504 mock_client_->ice_state()); | 497 |
| 505 mock_peer_connection_->SetIceState( | 498 new_state = webrtc::PeerConnectionInterface::kIceConnectionCompleted; |
| 506 webrtc::PeerConnectionInterface::kIceConnected); | 499 pc_handler_->OnIceConnectionChange(new_state); |
| 507 pc_handler_->OnStateChange(state_type); | 500 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateCompleted, |
| 508 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateConnected, | 501 mock_client_->ice_connection_state()); |
| 509 mock_client_->ice_state()); | 502 |
| 510 mock_peer_connection_->SetIceState( | 503 new_state = webrtc::PeerConnectionInterface::kIceConnectionFailed; |
| 511 webrtc::PeerConnectionInterface::kIceCompleted); | 504 pc_handler_->OnIceConnectionChange(new_state); |
| 512 pc_handler_->OnStateChange(state_type); | 505 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateFailed, |
| 513 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateCompleted, | 506 mock_client_->ice_connection_state()); |
| 514 mock_client_->ice_state()); | 507 |
| 515 mock_peer_connection_->SetIceState( | 508 new_state = webrtc::PeerConnectionInterface::kIceConnectionDisconnected; |
| 516 webrtc::PeerConnectionInterface::kIceFailed); | 509 pc_handler_->OnIceConnectionChange(new_state); |
| 517 pc_handler_->OnStateChange(state_type); | 510 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateDisconnected, |
| 518 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateFailed, | 511 mock_client_->ice_connection_state()); |
| 519 mock_client_->ice_state()); | 512 |
| 520 mock_peer_connection_->SetIceState( | 513 new_state = webrtc::PeerConnectionInterface::kIceConnectionClosed; |
| 521 webrtc::PeerConnectionInterface::kIceClosed); | 514 pc_handler_->OnIceConnectionChange(new_state); |
| 522 pc_handler_->OnStateChange(state_type); | 515 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEConnectionStateClosed, |
| 523 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEStateClosed, | 516 mock_client_->ice_connection_state()); |
| 524 mock_client_->ice_state()); | 517 } |
| 518 |
| 519 TEST_F(RTCPeerConnectionHandlerTest, OnIceGatheringChange) { |
| 520 webrtc::PeerConnectionInterface::IceGatheringState new_state = |
| 521 webrtc::PeerConnectionInterface::kIceGatheringNew; |
| 522 pc_handler_->OnIceGatheringChange(new_state); |
| 523 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEGatheringStateNew, |
| 524 mock_client_->ice_gathering_state()); |
| 525 |
| 526 new_state = webrtc::PeerConnectionInterface::kIceGatheringGathering; |
| 527 pc_handler_->OnIceGatheringChange(new_state); |
| 528 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEGatheringStateGathering, |
| 529 mock_client_->ice_gathering_state()); |
| 530 |
| 531 new_state = webrtc::PeerConnectionInterface::kIceGatheringComplete; |
| 532 pc_handler_->OnIceGatheringChange(new_state); |
| 533 EXPECT_EQ(WebRTCPeerConnectionHandlerClient::ICEGatheringStateComplete, |
| 534 mock_client_->ice_gathering_state()); |
| 525 } | 535 } |
| 526 | 536 |
| 527 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { | 537 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { |
| 528 std::string remote_stream_label("remote_stream"); | 538 std::string remote_stream_label("remote_stream"); |
| 529 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 539 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
| 530 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 540 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
| 531 pc_handler_->OnAddStream(remote_stream); | 541 pc_handler_->OnAddStream(remote_stream); |
| 532 EXPECT_EQ(remote_stream_label, mock_client_->stream_label()); | 542 EXPECT_EQ(remote_stream_label, mock_client_->stream_label()); |
| 533 | 543 |
| 534 pc_handler_->OnRemoveStream(remote_stream); | 544 pc_handler_->OnRemoveStream(remote_stream); |
| 535 EXPECT_TRUE(mock_client_->stream_label().empty()); | 545 EXPECT_TRUE(mock_client_->stream_label().empty()); |
| 536 } | 546 } |
| 537 | 547 |
| 538 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidateAndOnIceComplete) { | 548 TEST_F(RTCPeerConnectionHandlerTest, OnIceCandidate) { |
| 539 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( | 549 scoped_ptr<webrtc::IceCandidateInterface> native_candidate( |
| 540 mock_dependency_factory_->CreateIceCandidate("mid", 1, kDummySdp)); | 550 mock_dependency_factory_->CreateIceCandidate("mid", 1, kDummySdp)); |
| 541 pc_handler_->OnIceCandidate(native_candidate.get()); | 551 pc_handler_->OnIceCandidate(native_candidate.get()); |
| 542 EXPECT_EQ("mid", mock_client_->candidate_mid()); | 552 EXPECT_EQ("mid", mock_client_->candidate_mid()); |
| 543 EXPECT_EQ(1, mock_client_->candidate_mlineindex()); | 553 EXPECT_EQ(1, mock_client_->candidate_mlineindex()); |
| 544 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp()); | 554 EXPECT_EQ(kDummySdp, mock_client_->candidate_sdp()); |
| 545 | |
| 546 pc_handler_->OnIceComplete(); | |
| 547 EXPECT_EQ("", mock_client_->candidate_mid()); | |
| 548 EXPECT_EQ(-1, mock_client_->candidate_mlineindex()); | |
| 549 EXPECT_EQ("", mock_client_->candidate_sdp()); | |
| 550 } | 555 } |
| 551 | 556 |
| 552 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) { | 557 TEST_F(RTCPeerConnectionHandlerTest, OnRenegotiationNeeded) { |
| 553 EXPECT_FALSE(mock_client_->renegotiate()); | 558 EXPECT_FALSE(mock_client_->renegotiate()); |
| 554 pc_handler_->OnRenegotiationNeeded(); | 559 pc_handler_->OnRenegotiationNeeded(); |
| 555 EXPECT_TRUE(mock_client_->renegotiate()); | 560 EXPECT_TRUE(mock_client_->renegotiate()); |
| 556 } | 561 } |
| 557 | 562 |
| 558 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) { | 563 TEST_F(RTCPeerConnectionHandlerTest, CreateDataChannel) { |
| 559 WebKit::WebString label = "d1"; | 564 WebKit::WebString label = "d1"; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 575 EXPECT_FALSE(pc_handler_->createDTMFSender(tracks[0])); | 580 EXPECT_FALSE(pc_handler_->createDTMFSender(tracks[0])); |
| 576 | 581 |
| 577 local_stream.audioSources(tracks); | 582 local_stream.audioSources(tracks); |
| 578 ASSERT_LE(1ul, tracks.size()); | 583 ASSERT_LE(1ul, tracks.size()); |
| 579 scoped_ptr<WebKit::WebRTCDTMFSenderHandler> sender( | 584 scoped_ptr<WebKit::WebRTCDTMFSenderHandler> sender( |
| 580 pc_handler_->createDTMFSender(tracks[0])); | 585 pc_handler_->createDTMFSender(tracks[0])); |
| 581 EXPECT_TRUE(sender.get()); | 586 EXPECT_TRUE(sender.get()); |
| 582 } | 587 } |
| 583 | 588 |
| 584 } // namespace content | 589 } // namespace content |
| OLD | NEW |