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

Side by Side Diff: chrome/browser/media/router/media_router_mojo_impl_unittest.cc

Issue 1527183003: Change mojo enums to be scoped enums in the generated C++ bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mojo-binding-equals
Patch Set: Created 4 years, 11 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 return expected->is_binary() ? *expected->data == *actual->data 74 return expected->is_binary() ? *expected->data == *actual->data
75 : expected->message == actual->message; 75 : expected->message == actual->message;
76 } 76 }
77 77
78 interfaces::IssuePtr CreateMojoIssue(const std::string& title) { 78 interfaces::IssuePtr CreateMojoIssue(const std::string& title) {
79 interfaces::IssuePtr mojoIssue = interfaces::Issue::New(); 79 interfaces::IssuePtr mojoIssue = interfaces::Issue::New();
80 mojoIssue->title = title; 80 mojoIssue->title = title;
81 mojoIssue->message = "msg"; 81 mojoIssue->message = "msg";
82 mojoIssue->route_id = ""; 82 mojoIssue->route_id = "";
83 mojoIssue->default_action = 83 mojoIssue->default_action = interfaces::Issue::ActionType::DISMISS;
84 interfaces::Issue::ActionType::ACTION_TYPE_DISMISS;
85 mojoIssue->secondary_actions = 84 mojoIssue->secondary_actions =
86 mojo::Array<interfaces::Issue::ActionType>::New(0); 85 mojo::Array<interfaces::Issue::ActionType>::New(0);
87 mojoIssue->severity = interfaces::Issue::Severity::SEVERITY_WARNING; 86 mojoIssue->severity = interfaces::Issue::Severity::WARNING;
88 mojoIssue->is_blocking = false; 87 mojoIssue->is_blocking = false;
89 mojoIssue->help_url = ""; 88 mojoIssue->help_url = "";
90 return mojoIssue; 89 return mojoIssue;
91 } 90 }
92 91
93 } // namespace 92 } // namespace
94 93
95 class RouteResponseCallbackHandler { 94 class RouteResponseCallbackHandler {
96 public: 95 public:
97 MOCK_METHOD3(Invoke, 96 MOCK_METHOD3(Invoke,
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 OnIssueUpdated(Pointee(EqualsIssue(expected_issue2)))); 350 OnIssueUpdated(Pointee(EqualsIssue(expected_issue2))));
352 media_router_proxy_->OnIssue(std::move(mojo_issue2)); 351 media_router_proxy_->OnIssue(std::move(mojo_issue2));
353 ProcessEventLoop(); 352 ProcessEventLoop();
354 353
355 issue_observer1.UnregisterObserver(); 354 issue_observer1.UnregisterObserver();
356 issue_observer2.UnregisterObserver(); 355 issue_observer2.UnregisterObserver();
357 } 356 }
358 357
359 TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) { 358 TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
360 router()->OnSinkAvailabilityUpdated( 359 router()->OnSinkAvailabilityUpdated(
361 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); 360 interfaces::MediaRouter::SinkAvailability::AVAILABLE);
362 MediaSource media_source(kSource); 361 MediaSource media_source(kSource);
363 362
364 EXPECT_CALL(mock_media_route_provider_, 363 EXPECT_CALL(mock_media_route_provider_,
365 StartObservingMediaSinks(mojo::String(kSource))) 364 StartObservingMediaSinks(mojo::String(kSource)))
366 .Times(2); 365 .Times(2);
367 EXPECT_CALL(mock_media_route_provider_, 366 EXPECT_CALL(mock_media_route_provider_,
368 StartObservingMediaSinks(mojo::String(kSource2))); 367 StartObservingMediaSinks(mojo::String(kSource2)));
369 368
370 MockMediaSinksObserver sinks_observer(router(), media_source); 369 MockMediaSinksObserver sinks_observer(router(), media_source);
371 EXPECT_TRUE(sinks_observer.Init()); 370 EXPECT_TRUE(sinks_observer.Init());
372 MockMediaSinksObserver extra_sinks_observer(router(), media_source); 371 MockMediaSinksObserver extra_sinks_observer(router(), media_source);
373 EXPECT_TRUE(extra_sinks_observer.Init()); 372 EXPECT_TRUE(extra_sinks_observer.Init());
374 MockMediaSinksObserver unrelated_sinks_observer(router(), 373 MockMediaSinksObserver unrelated_sinks_observer(router(),
375 MediaSource(kSource2)); 374 MediaSource(kSource2));
376 EXPECT_TRUE(unrelated_sinks_observer.Init()); 375 EXPECT_TRUE(unrelated_sinks_observer.Init());
377 376
378 ProcessEventLoop(); 377 ProcessEventLoop();
379 378
380 std::vector<MediaSink> expected_sinks; 379 std::vector<MediaSink> expected_sinks;
381 expected_sinks.push_back( 380 expected_sinks.push_back(
382 MediaSink(kSinkId, kSinkName, MediaSink::IconType::CAST)); 381 MediaSink(kSinkId, kSinkName, MediaSink::IconType::CAST));
383 expected_sinks.push_back( 382 expected_sinks.push_back(
384 MediaSink(kSinkId2, kSinkName, MediaSink::IconType::CAST)); 383 MediaSink(kSinkId2, kSinkName, MediaSink::IconType::CAST));
385 384
386 mojo::Array<interfaces::MediaSinkPtr> mojo_sinks(2); 385 mojo::Array<interfaces::MediaSinkPtr> mojo_sinks(2);
387 mojo_sinks[0] = interfaces::MediaSink::New(); 386 mojo_sinks[0] = interfaces::MediaSink::New();
388 mojo_sinks[0]->sink_id = kSinkId; 387 mojo_sinks[0]->sink_id = kSinkId;
389 mojo_sinks[0]->name = kSinkName; 388 mojo_sinks[0]->name = kSinkName;
390 mojo_sinks[0]->icon_type = 389 mojo_sinks[0]->icon_type =
391 media_router::interfaces::MediaSink::IconType::ICON_TYPE_CAST; 390 media_router::interfaces::MediaSink::IconType::CAST;
392 mojo_sinks[1] = interfaces::MediaSink::New(); 391 mojo_sinks[1] = interfaces::MediaSink::New();
393 mojo_sinks[1]->sink_id = kSinkId2; 392 mojo_sinks[1]->sink_id = kSinkId2;
394 mojo_sinks[1]->name = kSinkName; 393 mojo_sinks[1]->name = kSinkName;
395 mojo_sinks[1]->icon_type = 394 mojo_sinks[1]->icon_type =
396 media_router::interfaces::MediaSink::IconType::ICON_TYPE_CAST; 395 media_router::interfaces::MediaSink::IconType::CAST;
397 396
398 EXPECT_CALL(sinks_observer, OnSinksReceived(SequenceEquals(expected_sinks))); 397 EXPECT_CALL(sinks_observer, OnSinksReceived(SequenceEquals(expected_sinks)));
399 EXPECT_CALL(extra_sinks_observer, 398 EXPECT_CALL(extra_sinks_observer,
400 OnSinksReceived(SequenceEquals(expected_sinks))); 399 OnSinksReceived(SequenceEquals(expected_sinks)));
401 media_router_proxy_->OnSinksReceived(media_source.id(), 400 media_router_proxy_->OnSinksReceived(media_source.id(),
402 std::move(mojo_sinks)); 401 std::move(mojo_sinks));
403 ProcessEventLoop(); 402 ProcessEventLoop();
404 403
405 EXPECT_CALL(mock_media_route_provider_, 404 EXPECT_CALL(mock_media_route_provider_,
406 StopObservingMediaSinks(mojo::String(kSource))); 405 StopObservingMediaSinks(mojo::String(kSource)));
407 EXPECT_CALL(mock_media_route_provider_, 406 EXPECT_CALL(mock_media_route_provider_,
408 StopObservingMediaSinks(mojo::String(kSource2))); 407 StopObservingMediaSinks(mojo::String(kSource2)));
409 router()->UnregisterMediaSinksObserver(&sinks_observer); 408 router()->UnregisterMediaSinksObserver(&sinks_observer);
410 router()->UnregisterMediaSinksObserver(&extra_sinks_observer); 409 router()->UnregisterMediaSinksObserver(&extra_sinks_observer);
411 router()->UnregisterMediaSinksObserver(&unrelated_sinks_observer); 410 router()->UnregisterMediaSinksObserver(&unrelated_sinks_observer);
412 ProcessEventLoop(); 411 ProcessEventLoop();
413 } 412 }
414 413
415 TEST_F(MediaRouterMojoImplTest, 414 TEST_F(MediaRouterMojoImplTest,
416 RegisterMediaSinksObserverWithAvailabilityChange) { 415 RegisterMediaSinksObserverWithAvailabilityChange) {
417 router()->OnSinkAvailabilityUpdated( 416 router()->OnSinkAvailabilityUpdated(
418 interfaces::MediaRouter::SINK_AVAILABILITY_UNAVAILABLE); 417 interfaces::MediaRouter::SinkAvailability::UNAVAILABLE);
419 MediaSource media_source(kSource); 418 MediaSource media_source(kSource);
420 scoped_ptr<MockMediaSinksObserver> sinks_observer( 419 scoped_ptr<MockMediaSinksObserver> sinks_observer(
421 new MockMediaSinksObserver(router(), media_source)); 420 new MockMediaSinksObserver(router(), media_source));
422 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty())); 421 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty()));
423 EXPECT_TRUE(sinks_observer->Init()); 422 EXPECT_TRUE(sinks_observer->Init());
424 MediaSource media_source2(kSource2); 423 MediaSource media_source2(kSource2);
425 scoped_ptr<MockMediaSinksObserver> sinks_observer2( 424 scoped_ptr<MockMediaSinksObserver> sinks_observer2(
426 new MockMediaSinksObserver(router(), media_source2)); 425 new MockMediaSinksObserver(router(), media_source2));
427 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())); 426 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty()));
428 EXPECT_TRUE(sinks_observer2->Init()); 427 EXPECT_TRUE(sinks_observer2->Init());
429 EXPECT_CALL(mock_media_route_provider_, 428 EXPECT_CALL(mock_media_route_provider_,
430 StartObservingMediaSinks(mojo::String(kSource))) 429 StartObservingMediaSinks(mojo::String(kSource)))
431 .Times(0); 430 .Times(0);
432 EXPECT_CALL(mock_media_route_provider_, 431 EXPECT_CALL(mock_media_route_provider_,
433 StartObservingMediaSinks(mojo::String(kSource2))) 432 StartObservingMediaSinks(mojo::String(kSource2)))
434 .Times(0); 433 .Times(0);
435 ProcessEventLoop(); 434 ProcessEventLoop();
436 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); 435 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_));
437 router()->OnSinkAvailabilityUpdated( 436 router()->OnSinkAvailabilityUpdated(
438 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); 437 interfaces::MediaRouter::SinkAvailability::AVAILABLE);
439 EXPECT_CALL(mock_media_route_provider_, 438 EXPECT_CALL(mock_media_route_provider_,
440 StartObservingMediaSinks(mojo::String(kSource))) 439 StartObservingMediaSinks(mojo::String(kSource)))
441 .Times(1); 440 .Times(1);
442 EXPECT_CALL(mock_media_route_provider_, 441 EXPECT_CALL(mock_media_route_provider_,
443 StartObservingMediaSinks(mojo::String(kSource2))) 442 StartObservingMediaSinks(mojo::String(kSource2)))
444 .Times(1); 443 .Times(1);
445 ProcessEventLoop(); 444 ProcessEventLoop();
446 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); 445 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_));
447 router()->OnSinkAvailabilityUpdated( 446 router()->OnSinkAvailabilityUpdated(
448 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); 447 interfaces::MediaRouter::SinkAvailability::AVAILABLE);
449 EXPECT_CALL(mock_media_route_provider_, 448 EXPECT_CALL(mock_media_route_provider_,
450 StartObservingMediaSinks(mojo::String(kSource))) 449 StartObservingMediaSinks(mojo::String(kSource)))
451 .Times(0); 450 .Times(0);
452 EXPECT_CALL(mock_media_route_provider_, 451 EXPECT_CALL(mock_media_route_provider_,
453 StartObservingMediaSinks(mojo::String(kSource2))) 452 StartObservingMediaSinks(mojo::String(kSource2)))
454 .Times(0); 453 .Times(0);
455 ProcessEventLoop(); 454 ProcessEventLoop();
456 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); 455 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_));
457 456
458 router()->OnSinkAvailabilityUpdated( 457 router()->OnSinkAvailabilityUpdated(
459 interfaces::MediaRouter::SINK_AVAILABILITY_UNAVAILABLE); 458 interfaces::MediaRouter::SinkAvailability::UNAVAILABLE);
460 EXPECT_CALL(mock_media_route_provider_, 459 EXPECT_CALL(mock_media_route_provider_,
461 StopObservingMediaSinks(mojo::String(kSource))) 460 StopObservingMediaSinks(mojo::String(kSource)))
462 .Times(0); 461 .Times(0);
463 EXPECT_CALL(mock_media_route_provider_, 462 EXPECT_CALL(mock_media_route_provider_,
464 StopObservingMediaSinks(mojo::String(kSource2))) 463 StopObservingMediaSinks(mojo::String(kSource2)))
465 .Times(0); 464 .Times(0);
466 sinks_observer.reset(); 465 sinks_observer.reset();
467 sinks_observer2.reset(); 466 sinks_observer2.reset();
468 ProcessEventLoop(); 467 ProcessEventLoop();
469 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); 468 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_));
470 } 469 }
471 470
472 TEST_F(MediaRouterMojoImplTest, 471 TEST_F(MediaRouterMojoImplTest,
473 RegisterAndUnregisterMediaSinksObserverWithAvailabilityChange) { 472 RegisterAndUnregisterMediaSinksObserverWithAvailabilityChange) {
474 router()->OnSinkAvailabilityUpdated( 473 router()->OnSinkAvailabilityUpdated(
475 interfaces::MediaRouter::SINK_AVAILABILITY_UNAVAILABLE); 474 interfaces::MediaRouter::SinkAvailability::UNAVAILABLE);
476 MediaSource media_source(kSource); 475 MediaSource media_source(kSource);
477 scoped_ptr<MockMediaSinksObserver> sinks_observer( 476 scoped_ptr<MockMediaSinksObserver> sinks_observer(
478 new MockMediaSinksObserver(router(), media_source)); 477 new MockMediaSinksObserver(router(), media_source));
479 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty())); 478 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty()));
480 EXPECT_TRUE(sinks_observer->Init()); 479 EXPECT_TRUE(sinks_observer->Init());
481 MediaSource media_source2(kSource2); 480 MediaSource media_source2(kSource2);
482 scoped_ptr<MockMediaSinksObserver> sinks_observer2( 481 scoped_ptr<MockMediaSinksObserver> sinks_observer2(
483 new MockMediaSinksObserver(router(), media_source2)); 482 new MockMediaSinksObserver(router(), media_source2));
484 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())); 483 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty()));
485 EXPECT_TRUE(sinks_observer2->Init()); 484 EXPECT_TRUE(sinks_observer2->Init());
486 EXPECT_CALL(mock_media_route_provider_, 485 EXPECT_CALL(mock_media_route_provider_,
487 StartObservingMediaSinks(mojo::String(kSource))) 486 StartObservingMediaSinks(mojo::String(kSource)))
488 .Times(0); 487 .Times(0);
489 EXPECT_CALL(mock_media_route_provider_, 488 EXPECT_CALL(mock_media_route_provider_,
490 StartObservingMediaSinks(mojo::String(kSource2))) 489 StartObservingMediaSinks(mojo::String(kSource2)))
491 .Times(0); 490 .Times(0);
492 ProcessEventLoop(); 491 ProcessEventLoop();
493 router()->OnSinkAvailabilityUpdated( 492 router()->OnSinkAvailabilityUpdated(
494 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); 493 interfaces::MediaRouter::SinkAvailability::AVAILABLE);
495 EXPECT_CALL(mock_media_route_provider_, 494 EXPECT_CALL(mock_media_route_provider_,
496 StartObservingMediaSinks(mojo::String(kSource))) 495 StartObservingMediaSinks(mojo::String(kSource)))
497 .Times(1); 496 .Times(1);
498 EXPECT_CALL(mock_media_route_provider_, 497 EXPECT_CALL(mock_media_route_provider_,
499 StartObservingMediaSinks(mojo::String(kSource2))) 498 StartObservingMediaSinks(mojo::String(kSource2)))
500 .Times(1); 499 .Times(1);
501 EXPECT_CALL(mock_media_route_provider_, 500 EXPECT_CALL(mock_media_route_provider_,
502 StopObservingMediaSinks(mojo::String(kSource))) 501 StopObservingMediaSinks(mojo::String(kSource)))
503 .Times(1); 502 .Times(1);
504 EXPECT_CALL(mock_media_route_provider_, 503 EXPECT_CALL(mock_media_route_provider_,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 router()->SendRouteBinaryMessage( 597 router()->SendRouteBinaryMessage(
599 kRouteId, std::move(expected_binary_data), 598 kRouteId, std::move(expected_binary_data),
600 base::Bind(&SendMessageCallbackHandler::Invoke, 599 base::Bind(&SendMessageCallbackHandler::Invoke,
601 base::Unretained(&handler))); 600 base::Unretained(&handler)));
602 ProcessEventLoop(); 601 ProcessEventLoop();
603 } 602 }
604 603
605 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesSingleObserver) { 604 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesSingleObserver) {
606 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2); 605 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2);
607 mojo_messages[0] = interfaces::RouteMessage::New(); 606 mojo_messages[0] = interfaces::RouteMessage::New();
608 mojo_messages[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT; 607 mojo_messages[0]->type = interfaces::RouteMessage::Type::TEXT;
609 mojo_messages[0]->message = "text"; 608 mojo_messages[0]->message = "text";
610 mojo_messages[1] = interfaces::RouteMessage::New(); 609 mojo_messages[1] = interfaces::RouteMessage::New();
611 mojo_messages[1]->type = interfaces::RouteMessage::Type::TYPE_BINARY; 610 mojo_messages[1]->type = interfaces::RouteMessage::Type::BINARY;
612 mojo_messages[1]->data.push_back(1); 611 mojo_messages[1]->data.push_back(1);
613 612
614 ScopedVector<content::PresentationSessionMessage> expected_messages; 613 ScopedVector<content::PresentationSessionMessage> expected_messages;
615 scoped_ptr<content::PresentationSessionMessage> message; 614 scoped_ptr<content::PresentationSessionMessage> message;
616 message.reset(new content::PresentationSessionMessage( 615 message.reset(new content::PresentationSessionMessage(
617 content::PresentationMessageType::TEXT)); 616 content::PresentationMessageType::TEXT));
618 message->message = "text"; 617 message->message = "text";
619 expected_messages.push_back(std::move(message)); 618 expected_messages.push_back(std::move(message));
620 619
621 message.reset(new content::PresentationSessionMessage( 620 message.reset(new content::PresentationSessionMessage(
(...skipping 27 matching lines...) Expand all
649 interfaces::MediaRouteProvider::ListenForRouteMessagesCallback 648 interfaces::MediaRouteProvider::ListenForRouteMessagesCallback
650 mojo_callback_2; 649 mojo_callback_2;
651 EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _)) 650 EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _))
652 .WillOnce(SaveArg<1>(&mojo_callback_2)); 651 .WillOnce(SaveArg<1>(&mojo_callback_2));
653 ProcessEventLoop(); 652 ProcessEventLoop();
654 653
655 // Stop listening for messages. In particular, MediaRouterMojoImpl will not 654 // Stop listening for messages. In particular, MediaRouterMojoImpl will not
656 // call ListenForRouteMessages again when it sees there are no more observers. 655 // call ListenForRouteMessages again when it sees there are no more observers.
657 mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1); 656 mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1);
658 mojo_messages_2[0] = interfaces::RouteMessage::New(); 657 mojo_messages_2[0] = interfaces::RouteMessage::New();
659 mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT; 658 mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TEXT;
660 mojo_messages_2[0]->message = "foo"; 659 mojo_messages_2[0]->message = "foo";
661 observer.reset(); 660 observer.reset();
662 mojo_callback_2.Run(std::move(mojo_messages_2), false); 661 mojo_callback_2.Run(std::move(mojo_messages_2), false);
663 EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_)); 662 EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_));
664 ProcessEventLoop(); 663 ProcessEventLoop();
665 } 664 }
666 665
667 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesMultipleObservers) { 666 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesMultipleObservers) {
668 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2); 667 mojo::Array<interfaces::RouteMessagePtr> mojo_messages(2);
669 mojo_messages[0] = interfaces::RouteMessage::New(); 668 mojo_messages[0] = interfaces::RouteMessage::New();
670 mojo_messages[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT; 669 mojo_messages[0]->type = interfaces::RouteMessage::Type::TEXT;
671 mojo_messages[0]->message = "text"; 670 mojo_messages[0]->message = "text";
672 mojo_messages[1] = interfaces::RouteMessage::New(); 671 mojo_messages[1] = interfaces::RouteMessage::New();
673 mojo_messages[1]->type = interfaces::RouteMessage::Type::TYPE_BINARY; 672 mojo_messages[1]->type = interfaces::RouteMessage::Type::BINARY;
674 mojo_messages[1]->data.push_back(1); 673 mojo_messages[1]->data.push_back(1);
675 674
676 ScopedVector<content::PresentationSessionMessage> expected_messages; 675 ScopedVector<content::PresentationSessionMessage> expected_messages;
677 scoped_ptr<content::PresentationSessionMessage> message; 676 scoped_ptr<content::PresentationSessionMessage> message;
678 message.reset(new content::PresentationSessionMessage( 677 message.reset(new content::PresentationSessionMessage(
679 content::PresentationMessageType::TEXT)); 678 content::PresentationMessageType::TEXT));
680 message->message = "text"; 679 message->message = "text";
681 expected_messages.push_back(std::move(message)); 680 expected_messages.push_back(std::move(message));
682 681
683 message.reset(new content::PresentationSessionMessage( 682 message.reset(new content::PresentationSessionMessage(
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 interfaces::MediaRouteProvider::ListenForRouteMessagesCallback 716 interfaces::MediaRouteProvider::ListenForRouteMessagesCallback
718 mojo_callback_2; 717 mojo_callback_2;
719 EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _)) 718 EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _))
720 .WillOnce(SaveArg<1>(&mojo_callback_2)); 719 .WillOnce(SaveArg<1>(&mojo_callback_2));
721 ProcessEventLoop(); 720 ProcessEventLoop();
722 721
723 // Stop listening for messages. In particular, MediaRouterMojoImpl will not 722 // Stop listening for messages. In particular, MediaRouterMojoImpl will not
724 // call ListenForRouteMessages again when it sees there are no more observers. 723 // call ListenForRouteMessages again when it sees there are no more observers.
725 mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1); 724 mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1);
726 mojo_messages_2[0] = interfaces::RouteMessage::New(); 725 mojo_messages_2[0] = interfaces::RouteMessage::New();
727 mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TYPE_TEXT; 726 mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TEXT;
728 mojo_messages_2[0]->message = "foo"; 727 mojo_messages_2[0]->message = "foo";
729 observer1.reset(); 728 observer1.reset();
730 observer2.reset(); 729 observer2.reset();
731 mojo_callback_2.Run(std::move(mojo_messages_2), false); 730 mojo_callback_2.Run(std::move(mojo_messages_2), false);
732 EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_)); 731 EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_));
733 ProcessEventLoop(); 732 ProcessEventLoop();
734 } 733 }
735 734
736 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesError) { 735 TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesError) {
737 MediaRoute::Id expected_route_id("foo"); 736 MediaRoute::Id expected_route_id("foo");
(...skipping 30 matching lines...) Expand all
768 MockPresentationConnectionStateChangedCallback callback; 767 MockPresentationConnectionStateChangedCallback callback;
769 scoped_ptr<PresentationConnectionStateSubscription> subscription = 768 scoped_ptr<PresentationConnectionStateSubscription> subscription =
770 router()->AddPresentationConnectionStateChangedCallback( 769 router()->AddPresentationConnectionStateChangedCallback(
771 route_id, 770 route_id,
772 base::Bind(&MockPresentationConnectionStateChangedCallback::Run, 771 base::Bind(&MockPresentationConnectionStateChangedCallback::Run,
773 base::Unretained(&callback))); 772 base::Unretained(&callback)));
774 773
775 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED)) 774 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED))
776 .Times(1); 775 .Times(1);
777 media_router_proxy_->OnPresentationConnectionStateChanged( 776 media_router_proxy_->OnPresentationConnectionStateChanged(
778 route_id, 777 route_id, PresentationConnectionState::CLOSED);
779 PresentationConnectionState::PRESENTATION_CONNECTION_STATE_CLOSED);
780 ProcessEventLoop(); 778 ProcessEventLoop();
781 779
782 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback)); 780 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&callback));
783 781
784 // Right now we don't keep track of previous state so the callback will be 782 // Right now we don't keep track of previous state so the callback will be
785 // invoked with the same state again. 783 // invoked with the same state again.
786 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED)) 784 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED))
787 .Times(1); 785 .Times(1);
788 media_router_proxy_->OnPresentationConnectionStateChanged( 786 media_router_proxy_->OnPresentationConnectionStateChanged(
789 route_id, 787 route_id, PresentationConnectionState::CLOSED);
790 PresentationConnectionState::PRESENTATION_CONNECTION_STATE_CLOSED);
791 ProcessEventLoop(); 788 ProcessEventLoop();
792 789
793 // Callback has been removed, so we don't expect it to be called anymore. 790 // Callback has been removed, so we don't expect it to be called anymore.
794 subscription.reset(); 791 subscription.reset();
795 EXPECT_TRUE(router()->presentation_connection_state_callbacks_.empty()); 792 EXPECT_TRUE(router()->presentation_connection_state_callbacks_.empty());
796 793
797 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED)) 794 EXPECT_CALL(callback, Run(content::PRESENTATION_CONNECTION_STATE_CLOSED))
798 .Times(0); 795 .Times(0);
799 media_router_proxy_->OnPresentationConnectionStateChanged( 796 media_router_proxy_->OnPresentationConnectionStateChanged(
800 route_id, 797 route_id, PresentationConnectionState::CLOSED);
801 PresentationConnectionState::PRESENTATION_CONNECTION_STATE_CLOSED);
802 ProcessEventLoop(); 798 ProcessEventLoop();
803 } 799 }
804 800
805 TEST_F(MediaRouterMojoImplTest, HasLocalRoute) { 801 TEST_F(MediaRouterMojoImplTest, HasLocalRoute) {
806 EXPECT_FALSE(router()->HasLocalDisplayRoute()); 802 EXPECT_FALSE(router()->HasLocalDisplayRoute());
807 interfaces::MediaRoutePtr mojo_route1 = interfaces::MediaRoute::New(); 803 interfaces::MediaRoutePtr mojo_route1 = interfaces::MediaRoute::New();
808 mojo_route1->media_route_id = "routeId1"; 804 mojo_route1->media_route_id = "routeId1";
809 mojo_route1->media_sink_id = "sinkId"; 805 mojo_route1->media_sink_id = "sinkId";
810 mojo_route1->is_local = false; 806 mojo_route1->is_local = false;
811 mojo_route1->for_display = false; 807 mojo_route1->for_display = false;
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))); 1068 EXPECT_CALL(provide_handler_, Invoke(testing::Not("")));
1073 EXPECT_CALL(*process_manager_, IsEventPageSuspended(kExtensionId)) 1069 EXPECT_CALL(*process_manager_, IsEventPageSuspended(kExtensionId))
1074 .WillOnce(Return(false)); 1070 .WillOnce(Return(false));
1075 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId2))) 1071 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId2)))
1076 .Times(kMaxPendingRequests); 1072 .Times(kMaxPendingRequests);
1077 RegisterMediaRouteProvider(); 1073 RegisterMediaRouteProvider();
1078 ProcessEventLoop(); 1074 ProcessEventLoop();
1079 } 1075 }
1080 1076
1081 } // namespace media_router 1077 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698