| OLD | NEW |
| 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 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 route->media_source = kSource; | 321 route->media_source = kSource; |
| 322 route->media_sink_id = kSinkId; | 322 route->media_sink_id = kSinkId; |
| 323 route->media_route_id = kRouteId; | 323 route->media_route_id = kRouteId; |
| 324 route->description = kDescription; | 324 route->description = kDescription; |
| 325 route->is_local = true; | 325 route->is_local = true; |
| 326 route->for_display = true; | 326 route->for_display = true; |
| 327 | 327 |
| 328 // Use a lambda function as an invocation target here to work around | 328 // Use a lambda function as an invocation target here to work around |
| 329 // a limitation with GMock::Invoke that prevents it from using move-only types | 329 // a limitation with GMock::Invoke that prevents it from using move-only types |
| 330 // in runnable parameter lists. | 330 // in runnable parameter lists. |
| 331 base::RunLoop run_loop; |
| 331 EXPECT_CALL(mock_media_route_provider_, | 332 EXPECT_CALL(mock_media_route_provider_, |
| 332 ConnectRouteByRouteId(mojo::String(kSource), | 333 ConnectRouteByRouteId(mojo::String(kSource), |
| 333 mojo::String(kRouteId), _, | 334 mojo::String(kRouteId), _, |
| 334 mojo::String(kOrigin), kInvalidTabId, _)) | 335 mojo::String(kOrigin), kInvalidTabId, _)) |
| 335 .WillOnce(Invoke([&route]( | 336 .WillOnce(Invoke([&route]( |
| 336 const mojo::String& source, const mojo::String& route_id, | 337 const mojo::String& source, const mojo::String& route_id, |
| 337 const mojo::String& presentation_id, | 338 const mojo::String& presentation_id, |
| 338 const mojo::String& origin, int tab_id, | 339 const mojo::String& origin, int tab_id, |
| 339 const interfaces::MediaRouteProvider::JoinRouteCallback& cb) { | 340 const interfaces::MediaRouteProvider::JoinRouteCallback& cb) { |
| 340 cb.Run(std::move(route), mojo::String()); | 341 cb.Run(std::move(route), mojo::String()); |
| 341 })); | 342 })); |
| 342 EXPECT_CALL(mock_media_route_provider_, | 343 EXPECT_CALL(mock_media_route_provider_, |
| 343 StartObservingMediaRoutes(mojo::String(""))); | 344 StartObservingMediaRoutes(mojo::String(""))) |
| 345 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 346 run_loop.Quit(); |
| 347 })); |
| 344 | 348 |
| 345 RouteResponseCallbackHandler handler; | 349 RouteResponseCallbackHandler handler; |
| 346 EXPECT_CALL(handler, Invoke(Pointee(Equals(expected_route)), Not(""), "")); | 350 EXPECT_CALL(handler, Invoke(Pointee(Equals(expected_route)), Not(""), "")); |
| 347 std::vector<MediaRouteResponseCallback> route_response_callbacks; | 351 std::vector<MediaRouteResponseCallback> route_response_callbacks; |
| 348 route_response_callbacks.push_back(base::Bind( | 352 route_response_callbacks.push_back(base::Bind( |
| 349 &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler))); | 353 &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler))); |
| 350 router()->ConnectRouteByRouteId(kSource, kRouteId, GURL(kOrigin), nullptr, | 354 router()->ConnectRouteByRouteId(kSource, kRouteId, GURL(kOrigin), nullptr, |
| 351 route_response_callbacks); | 355 route_response_callbacks); |
| 352 ProcessEventLoop(); | 356 run_loop.Run(); |
| 353 } | 357 } |
| 354 | 358 |
| 355 TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteIdFails) { | 359 TEST_F(MediaRouterMojoImplTest, ConnectRouteByRouteIdFails) { |
| 360 base::RunLoop run_loop; |
| 356 EXPECT_CALL(mock_media_route_provider_, | 361 EXPECT_CALL(mock_media_route_provider_, |
| 357 ConnectRouteByRouteId(mojo::String(kSource), | 362 ConnectRouteByRouteId(mojo::String(kSource), |
| 358 mojo::String(kRouteId), _, | 363 mojo::String(kRouteId), _, |
| 359 mojo::String(kOrigin), kInvalidTabId, _)) | 364 mojo::String(kOrigin), kInvalidTabId, _)) |
| 360 .WillOnce(Invoke( | 365 .WillOnce(Invoke( |
| 361 [](const mojo::String& source, | 366 [](const mojo::String& source, |
| 362 const mojo::String& route_id, | 367 const mojo::String& route_id, |
| 363 const mojo::String& presentation_id, | 368 const mojo::String& presentation_id, |
| 364 const mojo::String& origin, int tab_id, | 369 const mojo::String& origin, int tab_id, |
| 365 const interfaces::MediaRouteProvider::JoinRouteCallback& cb) { | 370 const interfaces::MediaRouteProvider::JoinRouteCallback& cb) { |
| 366 cb.Run(interfaces::MediaRoutePtr(), mojo::String(kError)); | 371 cb.Run(interfaces::MediaRoutePtr(), mojo::String(kError)); |
| 367 })); | 372 })); |
| 368 | 373 |
| 369 RouteResponseCallbackHandler handler; | 374 RouteResponseCallbackHandler handler; |
| 370 EXPECT_CALL(handler, Invoke(nullptr, "", kError)); | 375 EXPECT_CALL(handler, Invoke(nullptr, "", kError)) |
| 376 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 377 run_loop.Quit(); |
| 378 })); |
| 371 std::vector<MediaRouteResponseCallback> route_response_callbacks; | 379 std::vector<MediaRouteResponseCallback> route_response_callbacks; |
| 372 route_response_callbacks.push_back(base::Bind( | 380 route_response_callbacks.push_back(base::Bind( |
| 373 &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler))); | 381 &RouteResponseCallbackHandler::Invoke, base::Unretained(&handler))); |
| 374 router()->ConnectRouteByRouteId(kSource, kRouteId, GURL(kOrigin), nullptr, | 382 router()->ConnectRouteByRouteId(kSource, kRouteId, GURL(kOrigin), nullptr, |
| 375 route_response_callbacks); | 383 route_response_callbacks); |
| 376 ProcessEventLoop(); | 384 run_loop.Run(); |
| 377 } | 385 } |
| 378 | 386 |
| 379 TEST_F(MediaRouterMojoImplTest, DetachRoute) { | 387 TEST_F(MediaRouterMojoImplTest, DetachRoute) { |
| 380 base::RunLoop run_loop; | 388 base::RunLoop run_loop; |
| 381 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId))) | 389 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId))) |
| 382 .WillOnce(InvokeWithoutArgs([&run_loop]() { | 390 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 383 run_loop.Quit(); | 391 run_loop.Quit(); |
| 384 })); | 392 })); |
| 385 router()->DetachRoute(kRouteId); | 393 router()->DetachRoute(kRouteId); |
| 386 run_loop.Run(); | 394 run_loop.Run(); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 router()->OnSinkAvailabilityUpdated( | 532 router()->OnSinkAvailabilityUpdated( |
| 525 interfaces::MediaRouter::SINK_AVAILABILITY_UNAVAILABLE); | 533 interfaces::MediaRouter::SINK_AVAILABILITY_UNAVAILABLE); |
| 526 MediaSource media_source(kSource); | 534 MediaSource media_source(kSource); |
| 527 scoped_ptr<MockMediaSinksObserver> sinks_observer( | 535 scoped_ptr<MockMediaSinksObserver> sinks_observer( |
| 528 new MockMediaSinksObserver(router(), media_source)); | 536 new MockMediaSinksObserver(router(), media_source)); |
| 529 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty())); | 537 EXPECT_CALL(*sinks_observer, OnSinksReceived(IsEmpty())); |
| 530 EXPECT_TRUE(sinks_observer->Init()); | 538 EXPECT_TRUE(sinks_observer->Init()); |
| 531 MediaSource media_source2(kSource2); | 539 MediaSource media_source2(kSource2); |
| 532 scoped_ptr<MockMediaSinksObserver> sinks_observer2( | 540 scoped_ptr<MockMediaSinksObserver> sinks_observer2( |
| 533 new MockMediaSinksObserver(router(), media_source2)); | 541 new MockMediaSinksObserver(router(), media_source2)); |
| 534 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())); | 542 base::RunLoop run_loop; |
| 543 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())) |
| 544 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 545 run_loop.Quit(); |
| 546 })); |
| 535 EXPECT_TRUE(sinks_observer2->Init()); | 547 EXPECT_TRUE(sinks_observer2->Init()); |
| 536 EXPECT_CALL(mock_media_route_provider_, | 548 EXPECT_CALL(mock_media_route_provider_, |
| 537 StartObservingMediaSinks(mojo::String(kSource))) | 549 StartObservingMediaSinks(mojo::String(kSource))) |
| 538 .Times(0); | 550 .Times(0); |
| 539 EXPECT_CALL(mock_media_route_provider_, | 551 EXPECT_CALL(mock_media_route_provider_, |
| 540 StartObservingMediaSinks(mojo::String(kSource2))) | 552 StartObservingMediaSinks(mojo::String(kSource2))) |
| 541 .Times(0); | 553 .Times(0); |
| 542 ProcessEventLoop(); | 554 run_loop.Run(); |
| 555 base::RunLoop run_loop2; |
| 543 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); | 556 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); |
| 544 router()->OnSinkAvailabilityUpdated( | 557 router()->OnSinkAvailabilityUpdated( |
| 545 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); | 558 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); |
| 546 EXPECT_CALL(mock_media_route_provider_, | 559 EXPECT_CALL(mock_media_route_provider_, |
| 547 StartObservingMediaSinks(mojo::String(kSource))) | 560 StartObservingMediaSinks(mojo::String(kSource))) |
| 548 .Times(1); | 561 .Times(1); |
| 549 EXPECT_CALL(mock_media_route_provider_, | 562 EXPECT_CALL(mock_media_route_provider_, |
| 550 StartObservingMediaSinks(mojo::String(kSource2))) | 563 StartObservingMediaSinks(mojo::String(kSource2))) |
| 551 .Times(1); | 564 .Times(1) |
| 552 ProcessEventLoop(); | 565 .WillOnce(InvokeWithoutArgs([&run_loop2]() { |
| 566 run_loop2.Quit(); |
| 567 })); |
| 568 run_loop2.Run(); |
| 553 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); | 569 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); |
| 554 router()->OnSinkAvailabilityUpdated( | 570 router()->OnSinkAvailabilityUpdated( |
| 555 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); | 571 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); |
| 556 EXPECT_CALL(mock_media_route_provider_, | 572 EXPECT_CALL(mock_media_route_provider_, |
| 557 StartObservingMediaSinks(mojo::String(kSource))) | 573 StartObservingMediaSinks(mojo::String(kSource))) |
| 558 .Times(0); | 574 .Times(0); |
| 559 EXPECT_CALL(mock_media_route_provider_, | 575 EXPECT_CALL(mock_media_route_provider_, |
| 560 StartObservingMediaSinks(mojo::String(kSource2))) | 576 StartObservingMediaSinks(mojo::String(kSource2))) |
| 561 .Times(0); | 577 .Times(0); |
| 562 ProcessEventLoop(); | 578 ProcessEventLoop(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 590 new MockMediaSinksObserver(router(), media_source2)); | 606 new MockMediaSinksObserver(router(), media_source2)); |
| 591 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())); | 607 EXPECT_CALL(*sinks_observer2, OnSinksReceived(IsEmpty())); |
| 592 EXPECT_TRUE(sinks_observer2->Init()); | 608 EXPECT_TRUE(sinks_observer2->Init()); |
| 593 EXPECT_CALL(mock_media_route_provider_, | 609 EXPECT_CALL(mock_media_route_provider_, |
| 594 StartObservingMediaSinks(mojo::String(kSource))) | 610 StartObservingMediaSinks(mojo::String(kSource))) |
| 595 .Times(0); | 611 .Times(0); |
| 596 EXPECT_CALL(mock_media_route_provider_, | 612 EXPECT_CALL(mock_media_route_provider_, |
| 597 StartObservingMediaSinks(mojo::String(kSource2))) | 613 StartObservingMediaSinks(mojo::String(kSource2))) |
| 598 .Times(0); | 614 .Times(0); |
| 599 ProcessEventLoop(); | 615 ProcessEventLoop(); |
| 600 router()->OnSinkAvailabilityUpdated( | 616 base::RunLoop run_loop; |
| 601 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); | |
| 602 EXPECT_CALL(mock_media_route_provider_, | 617 EXPECT_CALL(mock_media_route_provider_, |
| 603 StartObservingMediaSinks(mojo::String(kSource))) | 618 StartObservingMediaSinks(mojo::String(kSource))) |
| 604 .Times(1); | 619 .Times(1); |
| 605 EXPECT_CALL(mock_media_route_provider_, | 620 EXPECT_CALL(mock_media_route_provider_, |
| 606 StartObservingMediaSinks(mojo::String(kSource2))) | 621 StartObservingMediaSinks(mojo::String(kSource2))) |
| 607 .Times(1); | 622 .Times(1) |
| 623 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 624 run_loop.Quit(); |
| 625 })); |
| 626 router()->OnSinkAvailabilityUpdated( |
| 627 interfaces::MediaRouter::SINK_AVAILABILITY_AVAILABLE); |
| 628 run_loop.Run(); |
| 629 base::RunLoop run_loop2; |
| 608 EXPECT_CALL(mock_media_route_provider_, | 630 EXPECT_CALL(mock_media_route_provider_, |
| 609 StopObservingMediaSinks(mojo::String(kSource))) | 631 StopObservingMediaSinks(mojo::String(kSource))) |
| 610 .Times(1); | 632 .Times(1); |
| 611 EXPECT_CALL(mock_media_route_provider_, | 633 EXPECT_CALL(mock_media_route_provider_, |
| 612 StopObservingMediaSinks(mojo::String(kSource2))) | 634 StopObservingMediaSinks(mojo::String(kSource2))) |
| 613 .Times(1); | 635 .Times(1) |
| 636 .WillOnce(InvokeWithoutArgs([&run_loop2]() { |
| 637 run_loop2.Quit(); |
| 638 })); |
| 614 sinks_observer.reset(); // Unregisters kSource from router(). | 639 sinks_observer.reset(); // Unregisters kSource from router(). |
| 615 sinks_observer2.reset(); // Unregisters kSource2 from router(). | 640 sinks_observer2.reset(); // Unregisters kSource2 from router(). |
| 616 ProcessEventLoop(); | 641 run_loop2.Run(); |
| 617 } | 642 } |
| 618 | 643 |
| 619 TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaRoutesObserver) { | 644 TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaRoutesObserver) { |
| 620 MockMediaRouter mock_router; | 645 MockMediaRouter mock_router; |
| 621 MediaSource media_source(kSource); | 646 MediaSource media_source(kSource); |
| 622 MediaSource different_media_source(kSource2); | 647 MediaSource different_media_source(kSource2); |
| 623 EXPECT_CALL(mock_media_route_provider_, | 648 EXPECT_CALL(mock_media_route_provider_, |
| 624 StartObservingMediaRoutes(mojo::String(media_source.id()))).Times(2); | 649 StartObservingMediaRoutes(mojo::String(media_source.id()))).Times(2); |
| 625 EXPECT_CALL(mock_media_route_provider_, | 650 EXPECT_CALL(mock_media_route_provider_, |
| 626 StartObservingMediaRoutes( | 651 StartObservingMediaRoutes( |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 mojo_routes[0]->media_sink_id = kSinkId; | 687 mojo_routes[0]->media_sink_id = kSinkId; |
| 663 mojo_routes[0]->description = kDescription; | 688 mojo_routes[0]->description = kDescription; |
| 664 mojo_routes[0]->is_local = false; | 689 mojo_routes[0]->is_local = false; |
| 665 mojo_routes[1] = interfaces::MediaRoute::New(); | 690 mojo_routes[1] = interfaces::MediaRoute::New(); |
| 666 mojo_routes[1]->media_route_id = kRouteId2; | 691 mojo_routes[1]->media_route_id = kRouteId2; |
| 667 mojo_routes[1]->media_source = kSource; | 692 mojo_routes[1]->media_source = kSource; |
| 668 mojo_routes[1]->media_sink_id = kSinkId; | 693 mojo_routes[1]->media_sink_id = kSinkId; |
| 669 mojo_routes[1]->description = kDescription; | 694 mojo_routes[1]->description = kDescription; |
| 670 mojo_routes[1]->is_local = false; | 695 mojo_routes[1]->is_local = false; |
| 671 | 696 |
| 697 base::RunLoop run_loop; |
| 672 EXPECT_CALL(routes_observer, | 698 EXPECT_CALL(routes_observer, |
| 673 OnRoutesUpdated(SequenceEquals(expected_routes), | 699 OnRoutesUpdated(SequenceEquals(expected_routes), |
| 674 expected_joinable_route_ids)); | 700 expected_joinable_route_ids)); |
| 675 EXPECT_CALL(extra_routes_observer, | 701 EXPECT_CALL(extra_routes_observer, |
| 676 OnRoutesUpdated(SequenceEquals(expected_routes), | 702 OnRoutesUpdated(SequenceEquals(expected_routes), |
| 677 expected_joinable_route_ids)); | 703 expected_joinable_route_ids)) |
| 704 .WillOnce(InvokeWithoutArgs([&run_loop]() { |
| 705 run_loop.Quit(); |
| 706 })); |
| 678 EXPECT_CALL(different_routes_observer, | 707 EXPECT_CALL(different_routes_observer, |
| 679 OnRoutesUpdated(SequenceEquals(expected_routes), | 708 OnRoutesUpdated(SequenceEquals(expected_routes), |
| 680 expected_joinable_route_ids)).Times(0); | 709 expected_joinable_route_ids)).Times(0); |
| 681 media_router_proxy_->OnRoutesUpdated(std::move(mojo_routes), | 710 media_router_proxy_->OnRoutesUpdated(std::move(mojo_routes), |
| 682 media_source.id(), | 711 media_source.id(), |
| 683 std::move(mojo_joinable_routes)); | 712 std::move(mojo_joinable_routes)); |
| 684 ProcessEventLoop(); | 713 run_loop.Run(); |
| 685 | 714 |
| 715 base::RunLoop run_loop2; |
| 686 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(&routes_observer)); | 716 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(&routes_observer)); |
| 687 EXPECT_CALL(mock_router, | 717 EXPECT_CALL(mock_router, |
| 688 UnregisterMediaRoutesObserver(&extra_routes_observer)); | 718 UnregisterMediaRoutesObserver(&extra_routes_observer)); |
| 689 EXPECT_CALL(mock_router, | 719 EXPECT_CALL(mock_router, |
| 690 UnregisterMediaRoutesObserver(&different_routes_observer)); | 720 UnregisterMediaRoutesObserver(&different_routes_observer)); |
| 691 router()->UnregisterMediaRoutesObserver(&routes_observer); | 721 router()->UnregisterMediaRoutesObserver(&routes_observer); |
| 692 router()->UnregisterMediaRoutesObserver(&extra_routes_observer); | 722 router()->UnregisterMediaRoutesObserver(&extra_routes_observer); |
| 693 router()->UnregisterMediaRoutesObserver(&different_routes_observer); | 723 router()->UnregisterMediaRoutesObserver(&different_routes_observer); |
| 694 EXPECT_CALL(mock_media_route_provider_, | 724 EXPECT_CALL(mock_media_route_provider_, |
| 695 StopObservingMediaRoutes( | 725 StopObservingMediaRoutes( |
| 696 mojo::String(media_source.id()))).Times(1); | 726 mojo::String(media_source.id()))).Times(1); |
| 697 EXPECT_CALL(mock_media_route_provider_, | 727 EXPECT_CALL(mock_media_route_provider_, |
| 698 StopObservingMediaRoutes( | 728 StopObservingMediaRoutes( |
| 699 mojo::String(different_media_source.id()))); | 729 mojo::String(different_media_source.id()))) |
| 700 ProcessEventLoop(); | 730 .WillOnce(InvokeWithoutArgs([&run_loop2]() { |
| 731 run_loop2.Quit(); |
| 732 })); |
| 733 run_loop2.Run(); |
| 701 } | 734 } |
| 702 | 735 |
| 703 TEST_F(MediaRouterMojoImplTest, SendRouteMessage) { | 736 TEST_F(MediaRouterMojoImplTest, SendRouteMessage) { |
| 704 EXPECT_CALL( | 737 EXPECT_CALL( |
| 705 mock_media_route_provider_, | 738 mock_media_route_provider_, |
| 706 SendRouteMessage(mojo::String(kRouteId), mojo::String(kMessage), _)) | 739 SendRouteMessage(mojo::String(kRouteId), mojo::String(kMessage), _)) |
| 707 .WillOnce(Invoke([]( | 740 .WillOnce(Invoke([]( |
| 708 const MediaRoute::Id& route_id, const std::string& message, | 741 const MediaRoute::Id& route_id, const std::string& message, |
| 709 const interfaces::MediaRouteProvider::SendRouteMessageCallback& cb) { | 742 const interfaces::MediaRouteProvider::SendRouteMessageCallback& cb) { |
| 710 cb.Run(true); | 743 cb.Run(true); |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1034 .WillRepeatedly(Return(true)); | 1067 .WillRepeatedly(Return(true)); |
| 1035 EXPECT_CALL(mock_event_page_tracker_, WakeEventPage(extension_id(), _)) | 1068 EXPECT_CALL(mock_event_page_tracker_, WakeEventPage(extension_id(), _)) |
| 1036 .Times(2) | 1069 .Times(2) |
| 1037 .WillOnce(Return(true)) | 1070 .WillOnce(Return(true)) |
| 1038 .WillOnce(DoAll(InvokeWithoutArgs([&run_loop]() { | 1071 .WillOnce(DoAll(InvokeWithoutArgs([&run_loop]() { |
| 1039 run_loop.Quit(); | 1072 run_loop.Quit(); |
| 1040 }), Return(true))); | 1073 }), Return(true))); |
| 1041 router()->DetachRoute(kRouteId); | 1074 router()->DetachRoute(kRouteId); |
| 1042 router()->DetachRoute(kRouteId2); | 1075 router()->DetachRoute(kRouteId2); |
| 1043 run_loop.Run(); | 1076 run_loop.Run(); |
| 1077 |
| 1078 base::RunLoop run_loop2, run_loop3; |
| 1044 EXPECT_CALL(mock_event_page_tracker_, IsEventPageSuspended(extension_id())) | 1079 EXPECT_CALL(mock_event_page_tracker_, IsEventPageSuspended(extension_id())) |
| 1045 .Times(1) | 1080 .Times(1) |
| 1046 .WillRepeatedly(Return(false)); | 1081 .WillRepeatedly(Return(false)); |
| 1047 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId))); | 1082 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId))) |
| 1048 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId2))); | 1083 .WillOnce(InvokeWithoutArgs([&run_loop2]() { |
| 1084 run_loop2.Quit(); |
| 1085 })); |
| 1086 EXPECT_CALL(mock_media_route_provider_, DetachRoute(mojo::String(kRouteId2))) |
| 1087 .WillOnce(InvokeWithoutArgs([&run_loop3]() { |
| 1088 run_loop3.Quit(); |
| 1089 })); |
| 1049 ConnectProviderManagerService(); | 1090 ConnectProviderManagerService(); |
| 1050 ProcessEventLoop(); | 1091 run_loop2.Run(); |
| 1092 run_loop3.Run(); |
| 1051 } | 1093 } |
| 1052 | 1094 |
| 1053 class MediaRouterMojoExtensionTest : public ::testing::Test { | 1095 class MediaRouterMojoExtensionTest : public ::testing::Test { |
| 1054 public: | 1096 public: |
| 1055 MediaRouterMojoExtensionTest() | 1097 MediaRouterMojoExtensionTest() |
| 1056 : process_manager_(nullptr), | 1098 : process_manager_(nullptr), |
| 1057 message_loop_(mojo::common::MessagePumpMojo::Create()) | 1099 message_loop_(mojo::common::MessagePumpMojo::Create()) |
| 1058 {} | 1100 {} |
| 1059 | 1101 |
| 1060 ~MediaRouterMojoExtensionTest() override {} | 1102 ~MediaRouterMojoExtensionTest() override {} |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1288 .WillRepeatedly(InvokeWithoutArgs([&run_loop2, &count]() { | 1330 .WillRepeatedly(InvokeWithoutArgs([&run_loop2, &count]() { |
| 1289 if (++count == MediaRouterMojoImpl::kMaxPendingRequests) | 1331 if (++count == MediaRouterMojoImpl::kMaxPendingRequests) |
| 1290 run_loop2.Quit(); | 1332 run_loop2.Quit(); |
| 1291 })); | 1333 })); |
| 1292 RegisterMediaRouteProvider(); | 1334 RegisterMediaRouteProvider(); |
| 1293 run_loop.Run(); | 1335 run_loop.Run(); |
| 1294 run_loop2.Run(); | 1336 run_loop2.Run(); |
| 1295 } | 1337 } |
| 1296 | 1338 |
| 1297 } // namespace media_router | 1339 } // namespace media_router |
| OLD | NEW |