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

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

Issue 12210111: Hookup new ice state callbacks OnIceConnectionChange and OnIceGatheringChange from PeerConnectionOb… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge with latest code base. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/media/rtc_peer_connection_handler.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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
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
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
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_peer_connection_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698