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

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

Issue 2837363002: [Media Router] Use DialMediaSinkService in MediaRouterMojoImpl (Closed)
Patch Set: fix windows unit tests failures Created 3 years, 7 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 7
8 #include <memory> 8 #include <memory>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 MOCK_METHOD1(IsEventPageSuspended, bool(const std::string& ext_id)); 177 MOCK_METHOD1(IsEventPageSuspended, bool(const std::string& ext_id));
178 178
179 MOCK_METHOD2(WakeEventPage, 179 MOCK_METHOD2(WakeEventPage,
180 bool(const std::string& extension_id, 180 bool(const std::string& extension_id,
181 const base::Callback<void(bool)>& callback)); 181 const base::Callback<void(bool)>& callback));
182 182
183 private: 183 private:
184 DISALLOW_COPY_AND_ASSIGN(TestProcessManager); 184 DISALLOW_COPY_AND_ASSIGN(TestProcessManager);
185 }; 185 };
186 186
187 // Mockable class for awaiting RegisterMediaRouteProvider callbacks.
188 class RegisterMediaRouteProviderHandler {
189 public:
190 MOCK_METHOD1(Invoke, void(const std::string& instance_id));
191 };
192
193 TEST_F(MediaRouterMojoImplTest, CreateRoute) { 187 TEST_F(MediaRouterMojoImplTest, CreateRoute) {
194 MediaSource media_source(kSource); 188 MediaSource media_source(kSource);
195 MediaRoute expected_route(kRouteId, media_source, kSinkId, "", false, "", 189 MediaRoute expected_route(kRouteId, media_source, kSinkId, "", false, "",
196 false); 190 false);
197 191
198 // Use a lambda function as an invocation target here to work around 192 // Use a lambda function as an invocation target here to work around
199 // a limitation with GMock::Invoke that prevents it from using move-only types 193 // a limitation with GMock::Invoke that prevents it from using move-only types
200 // in runnable parameter lists. 194 // in runnable parameter lists.
201 EXPECT_CALL(mock_media_route_provider_, 195 EXPECT_CALL(mock_media_route_provider_,
202 CreateRoute(kSource, kSinkId, _, url::Origin(GURL(kOrigin)), 196 CreateRoute(kSource, kSinkId, _, url::Origin(GURL(kOrigin)),
(...skipping 1210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1413 1407
1414 profile_.reset(new TestingProfile); 1408 profile_.reset(new TestingProfile);
1415 // Set up a mock ProcessManager instance. 1409 // Set up a mock ProcessManager instance.
1416 extensions::ProcessManagerFactory::GetInstance()->SetTestingFactory( 1410 extensions::ProcessManagerFactory::GetInstance()->SetTestingFactory(
1417 profile_.get(), &TestProcessManager::Create); 1411 profile_.get(), &TestProcessManager::Create);
1418 process_manager_ = static_cast<TestProcessManager*>( 1412 process_manager_ = static_cast<TestProcessManager*>(
1419 extensions::ProcessManager::Get(profile_.get())); 1413 extensions::ProcessManager::Get(profile_.get()));
1420 DCHECK(process_manager_); 1414 DCHECK(process_manager_);
1421 1415
1422 // Create MR and its proxy, so that it can be accessed through Mojo. 1416 // Create MR and its proxy, so that it can be accessed through Mojo.
1423 media_router_.reset(new MediaRouterMojoImpl(process_manager_)); 1417 media_router_.reset(
1418 new MediaRouterMojoImpl(process_manager_, profile_.get()));
1424 ProcessEventLoop(); 1419 ProcessEventLoop();
1425 } 1420 }
1426 1421
1427 void TearDown() override { 1422 void TearDown() override {
1428 media_router_.reset(); 1423 media_router_.reset();
1429 profile_.reset(); 1424 profile_.reset();
1430 } 1425 }
1431 1426
1432 // Constructs bindings so that |media_router_| delegates calls to 1427 // Constructs bindings so that |media_router_| delegates calls to
1433 // |mojo_media_router_|, which are then handled by 1428 // |mojo_media_router_|, which are then handled by
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1500 // It should be queued. 1495 // It should be queued.
1501 media_router_->DetachRoute(kRouteId); 1496 media_router_->DetachRoute(kRouteId);
1502 1497
1503 BindMediaRouteProvider(); 1498 BindMediaRouteProvider();
1504 1499
1505 base::RunLoop run_loop, run_loop2; 1500 base::RunLoop run_loop, run_loop2;
1506 // |mojo_media_router| signals its readiness to the MR by registering 1501 // |mojo_media_router| signals its readiness to the MR by registering
1507 // itself via RegisterMediaRouteProvider(). 1502 // itself via RegisterMediaRouteProvider().
1508 // Now that the |media_router| and |mojo_media_router| are fully initialized, 1503 // Now that the |media_router| and |mojo_media_router| are fully initialized,
1509 // the queued DetachRoute() call should be executed. 1504 // the queued DetachRoute() call should be executed.
1510 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1505 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1511 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })); 1506 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
1512 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1507 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1513 .WillOnce(Return(false)); 1508 .WillOnce(Return(false));
1514 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery()) 1509 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery())
1515 .Times(AtMost(1)); 1510 .Times(AtMost(1));
1516 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId)) 1511 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId))
1517 .WillOnce(InvokeWithoutArgs([&run_loop2]() { run_loop2.Quit(); })); 1512 .WillOnce(InvokeWithoutArgs([&run_loop2]() { run_loop2.Quit(); }));
1518 RegisterMediaRouteProvider(); 1513 RegisterMediaRouteProvider();
1519 run_loop.Run(); 1514 run_loop.Run();
1520 run_loop2.Run(); 1515 run_loop2.Run();
1521 1516
1522 base::RunLoop run_loop3; 1517 base::RunLoop run_loop3;
1523 // Extension is suspended and re-awoken. 1518 // Extension is suspended and re-awoken.
1524 ResetMediaRouteProvider(); 1519 ResetMediaRouteProvider();
1525 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1520 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1526 .WillOnce(Return(true)); 1521 .WillOnce(Return(true));
1527 EXPECT_CALL(*process_manager_, WakeEventPage(extension_->id(), _)) 1522 EXPECT_CALL(*process_manager_, WakeEventPage(extension_->id(), _))
1528 .WillOnce(testing::DoAll( 1523 .WillOnce(testing::DoAll(
1529 media::RunCallback<1>(true), 1524 media::RunCallback<1>(true),
1530 InvokeWithoutArgs([&run_loop3]() { run_loop3.Quit(); }), 1525 InvokeWithoutArgs([&run_loop3]() { run_loop3.Quit(); }),
1531 Return(true))); 1526 Return(true)));
1532 media_router_->DetachRoute(kRouteId2); 1527 media_router_->DetachRoute(kRouteId2);
1533 run_loop3.Run(); 1528 run_loop3.Run();
1534 1529
1535 base::RunLoop run_loop4, run_loop5; 1530 base::RunLoop run_loop4, run_loop5;
1536 // RegisterMediaRouteProvider() is called. 1531 // RegisterMediaRouteProvider() is called.
1537 // The queued DetachRoute(kRouteId2) call should be executed. 1532 // The queued DetachRoute(kRouteId2) call should be executed.
1538 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1533 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1539 .WillOnce(InvokeWithoutArgs([&run_loop4]() { run_loop4.Quit(); })); 1534 .WillOnce(InvokeWithoutArgs([&run_loop4]() { run_loop4.Quit(); }));
1540 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1535 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1541 .WillOnce(Return(false)); 1536 .WillOnce(Return(false));
1542 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery()) 1537 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery())
1543 .Times(AtMost(1)); 1538 .Times(AtMost(1));
1544 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId2)) 1539 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId2))
1545 .WillOnce(InvokeWithoutArgs([&run_loop5]() { run_loop5.Quit(); })); 1540 .WillOnce(InvokeWithoutArgs([&run_loop5]() { run_loop5.Quit(); }));
1546 BindMediaRouteProvider(); 1541 BindMediaRouteProvider();
1547 RegisterMediaRouteProvider(); 1542 RegisterMediaRouteProvider();
1548 run_loop4.Run(); 1543 run_loop4.Run();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 media_router_->DetachRoute(kRouteId2); 1633 media_router_->DetachRoute(kRouteId2);
1639 1634
1640 // The request queue size should not exceed |kMaxPendingRequests|. 1635 // The request queue size should not exceed |kMaxPendingRequests|.
1641 EXPECT_EQ(kMaxPendingRequests, media_router_->pending_requests_.size()); 1636 EXPECT_EQ(kMaxPendingRequests, media_router_->pending_requests_.size());
1642 1637
1643 base::RunLoop run_loop, run_loop2; 1638 base::RunLoop run_loop, run_loop2;
1644 size_t count = 0; 1639 size_t count = 0;
1645 // The oldest request should have been dropped, so we don't expect to see 1640 // The oldest request should have been dropped, so we don't expect to see
1646 // DetachRoute(kRouteId) here. 1641 // DetachRoute(kRouteId) here.
1647 BindMediaRouteProvider(); 1642 BindMediaRouteProvider();
1648 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1643 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1649 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })); 1644 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
1650 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())); 1645 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()));
1651 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery()) 1646 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery())
1652 .Times(AtMost(1)); 1647 .Times(AtMost(1));
1653 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId2)) 1648 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId2))
1654 .Times(kMaxPendingRequests) 1649 .Times(kMaxPendingRequests)
1655 .WillRepeatedly(InvokeWithoutArgs([&run_loop2, &count]() { 1650 .WillRepeatedly(InvokeWithoutArgs([&run_loop2, &count]() {
1656 if (++count == MediaRouterMojoImpl::kMaxPendingRequests) 1651 if (++count == MediaRouterMojoImpl::kMaxPendingRequests)
1657 run_loop2.Quit(); 1652 run_loop2.Quit();
1658 })); 1653 }));
1659 RegisterMediaRouteProvider(); 1654 RegisterMediaRouteProvider();
1660 run_loop.Run(); 1655 run_loop.Run();
1661 run_loop2.Run(); 1656 run_loop2.Run();
1662 ExpectVersionBucketCount(MediaRouteProviderVersion::SAME_VERSION_AS_CHROME, 1657 ExpectVersionBucketCount(MediaRouteProviderVersion::SAME_VERSION_AS_CHROME,
1663 1); 1658 1);
1664 } 1659 }
1665 1660
1666 #if defined(OS_WIN) 1661 #if defined(OS_WIN)
1667 TEST_F(MediaRouterMojoExtensionTest, EnableMdnsAfterEachRegister) { 1662 TEST_F(MediaRouterMojoExtensionTest, EnableMdnsAfterEachRegister) {
1668 // This should be queued since no MRPM is registered yet. 1663 // This should be queued since no MRPM is registered yet.
1669 media_router_->OnUserGesture(); 1664 media_router_->OnUserGesture();
1670 1665
1671 BindMediaRouteProvider(); 1666 BindMediaRouteProvider();
1672 1667
1673 base::RunLoop run_loop; 1668 base::RunLoop run_loop;
1674 base::RunLoop run_loop2; 1669 base::RunLoop run_loop2;
1675 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1670 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1676 .WillOnce(InvokeWithoutArgs([&run_loop]() { 1671 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
1677 run_loop.Quit();
1678 }));
1679 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1672 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1680 .WillOnce(Return(false)).WillOnce(Return(false)); 1673 .WillOnce(Return(false)).WillOnce(Return(false));
1681 EXPECT_CALL(mock_media_route_provider_, 1674 EXPECT_CALL(mock_media_route_provider_,
1682 UpdateMediaSinks(MediaSourceForDesktop().id())) 1675 UpdateMediaSinks(MediaSourceForDesktop().id()))
1683 .Times(2); 1676 .Times(2);
1684 // EnableMdnsDiscovery() is never called except on Windows. 1677 // EnableMdnsDiscovery() is never called except on Windows.
1685 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery()) 1678 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery())
1686 .WillOnce(InvokeWithoutArgs([&run_loop2]() { 1679 .WillOnce(InvokeWithoutArgs([&run_loop2]() {
1687 run_loop2.Quit(); 1680 run_loop2.Quit();
1688 })); 1681 }));
(...skipping 16 matching lines...) Expand all
1705 InvokeWithoutArgs([&run_loop4]() { run_loop4.Quit(); }), 1698 InvokeWithoutArgs([&run_loop4]() { run_loop4.Quit(); }),
1706 Return(true))); 1699 Return(true)));
1707 // Use DetachRoute because it unconditionally calls RunOrDefer(). 1700 // Use DetachRoute because it unconditionally calls RunOrDefer().
1708 media_router_->DetachRoute(kRouteId); 1701 media_router_->DetachRoute(kRouteId);
1709 run_loop4.Run(); 1702 run_loop4.Run();
1710 1703
1711 base::RunLoop run_loop5; 1704 base::RunLoop run_loop5;
1712 base::RunLoop run_loop6; 1705 base::RunLoop run_loop6;
1713 // RegisterMediaRouteProvider() is called. 1706 // RegisterMediaRouteProvider() is called.
1714 // The queued DetachRoute(kRouteId) call should be executed. 1707 // The queued DetachRoute(kRouteId) call should be executed.
1715 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1708 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1716 .WillOnce(InvokeWithoutArgs([&run_loop5]() { 1709 .WillOnce(InvokeWithoutArgs([&run_loop5]() { run_loop5.Quit(); }));
1717 run_loop5.Quit();
1718 }));
1719 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1710 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1720 .WillOnce(Return(false)).WillOnce(Return(false)); 1711 .WillOnce(Return(false)).WillOnce(Return(false));
1721 // Expected because it was used to wake up the page. 1712 // Expected because it was used to wake up the page.
1722 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId)); 1713 EXPECT_CALL(mock_media_route_provider_, DetachRoute(kRouteId));
1723 EXPECT_CALL(mock_media_route_provider_, 1714 EXPECT_CALL(mock_media_route_provider_,
1724 UpdateMediaSinks(MediaSourceForDesktop().id())); 1715 UpdateMediaSinks(MediaSourceForDesktop().id()));
1725 // EnableMdnsDiscovery() is never called except on Windows. 1716 // EnableMdnsDiscovery() is never called except on Windows.
1726 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery()) 1717 EXPECT_CALL(mock_media_route_provider_, EnableMdnsDiscovery())
1727 .WillOnce(InvokeWithoutArgs([&run_loop6]() { 1718 .WillOnce(InvokeWithoutArgs([&run_loop6]() {
1728 run_loop6.Quit(); 1719 run_loop6.Quit();
1729 })); 1720 }));
1730 BindMediaRouteProvider(); 1721 BindMediaRouteProvider();
1731 RegisterMediaRouteProvider(); 1722 RegisterMediaRouteProvider();
1732 run_loop5.Run(); 1723 run_loop5.Run();
1733 run_loop6.Run(); 1724 run_loop6.Run();
1734 // Should not call EnableMdnsDiscovery, but will call UpdateMediaSinks 1725 // Should not call EnableMdnsDiscovery, but will call UpdateMediaSinks
1735 media_router_->OnUserGesture(); 1726 media_router_->OnUserGesture();
1736 base::RunLoop run_loop7; 1727 base::RunLoop run_loop7;
1737 run_loop7.RunUntilIdle(); 1728 run_loop7.RunUntilIdle();
1738 } 1729 }
1739 #endif 1730 #endif
1740 1731
1741 TEST_F(MediaRouterMojoExtensionTest, UpdateMediaSinksOnUserGesture) { 1732 TEST_F(MediaRouterMojoExtensionTest, UpdateMediaSinksOnUserGesture) {
1742 BindMediaRouteProvider(); 1733 BindMediaRouteProvider();
1743 1734
1744 base::RunLoop run_loop; 1735 base::RunLoop run_loop;
1745 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))) 1736 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _))
1746 .WillOnce(InvokeWithoutArgs([&run_loop]() { 1737 .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
1747 run_loop.Quit();
1748 }));
1749 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1738 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1750 #if defined(OS_WIN) 1739 #if defined(OS_WIN)
1751 // Windows calls once for EnableMdnsDiscovery 1740 // Windows calls once for EnableMdnsDiscovery
1752 .Times(3) 1741 .Times(3)
1753 #else 1742 #else
1754 // All others call once for registration, and once for the user gesture. 1743 // All others call once for registration, and once for the user gesture.
1755 .Times(2) 1744 .Times(2)
1756 #endif 1745 #endif
1757 .WillRepeatedly(Return(false)); 1746 .WillRepeatedly(Return(false));
1758 1747
(...skipping 19 matching lines...) Expand all
1778 1767
1779 TEST_F(MediaRouterMojoExtensionTest, SyncStateToMediaRouteProvider) { 1768 TEST_F(MediaRouterMojoExtensionTest, SyncStateToMediaRouteProvider) {
1780 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id())) 1769 EXPECT_CALL(*process_manager_, IsEventPageSuspended(extension_->id()))
1781 .WillRepeatedly(Return(false)); 1770 .WillRepeatedly(Return(false));
1782 MediaSource media_source = MediaSource(kSource); 1771 MediaSource media_source = MediaSource(kSource);
1783 std::unique_ptr<MockMediaSinksObserver> sinks_observer; 1772 std::unique_ptr<MockMediaSinksObserver> sinks_observer;
1784 std::unique_ptr<MockMediaRoutesObserver> routes_observer; 1773 std::unique_ptr<MockMediaRoutesObserver> routes_observer;
1785 std::unique_ptr<NullMessageObserver> messages_observer; 1774 std::unique_ptr<NullMessageObserver> messages_observer;
1786 1775
1787 { 1776 {
1788 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))); 1777 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _));
1789 BindMediaRouteProvider(); 1778 BindMediaRouteProvider();
1790 RegisterMediaRouteProvider(); 1779 RegisterMediaRouteProvider();
1791 base::RunLoop().RunUntilIdle(); 1780 base::RunLoop().RunUntilIdle();
1792 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&provide_handler_)); 1781 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&provide_handler_));
1793 } 1782 }
1794 1783
1795 { 1784 {
1796 media_router_->OnSinkAvailabilityUpdated( 1785 media_router_->OnSinkAvailabilityUpdated(
1797 mojom::MediaRouter::SinkAvailability::PER_SOURCE); 1786 mojom::MediaRouter::SinkAvailability::PER_SOURCE);
1798 EXPECT_CALL(mock_media_route_provider_, 1787 EXPECT_CALL(mock_media_route_provider_,
1799 StartObservingMediaSinks(media_source.id())); 1788 StartObservingMediaSinks(media_source.id()));
1800 sinks_observer.reset(new MockMediaSinksObserver( 1789 sinks_observer.reset(new MockMediaSinksObserver(
1801 router(), media_source, url::Origin(GURL(kOrigin)))); 1790 router(), media_source, url::Origin(GURL(kOrigin))));
1802 EXPECT_TRUE(sinks_observer->Init()); 1791 EXPECT_TRUE(sinks_observer->Init());
1803 1792
1804 EXPECT_CALL(mock_media_route_provider_, 1793 EXPECT_CALL(mock_media_route_provider_,
1805 StartObservingMediaRoutes(media_source.id())); 1794 StartObservingMediaRoutes(media_source.id()));
1806 routes_observer.reset( 1795 routes_observer.reset(
1807 new MockMediaRoutesObserver(router(), media_source.id())); 1796 new MockMediaRoutesObserver(router(), media_source.id()));
1808 1797
1809 EXPECT_CALL(mock_media_route_provider_, 1798 EXPECT_CALL(mock_media_route_provider_,
1810 StartListeningForRouteMessages(media_source.id())); 1799 StartListeningForRouteMessages(media_source.id()));
1811 messages_observer.reset( 1800 messages_observer.reset(
1812 new NullMessageObserver(router(), media_source.id())); 1801 new NullMessageObserver(router(), media_source.id()));
1813 base::RunLoop().RunUntilIdle(); 1802 base::RunLoop().RunUntilIdle();
1814 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_)); 1803 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_media_route_provider_));
1815 } 1804 }
1816 1805
1817 { 1806 {
1818 EXPECT_CALL(provide_handler_, Invoke(testing::Not(""))); 1807 EXPECT_CALL(provide_handler_, InvokeRaw(testing::Not(""), _));
1819 EXPECT_CALL(mock_media_route_provider_, 1808 EXPECT_CALL(mock_media_route_provider_,
1820 StartObservingMediaSinks(media_source.id())); 1809 StartObservingMediaSinks(media_source.id()));
1821 EXPECT_CALL(mock_media_route_provider_, 1810 EXPECT_CALL(mock_media_route_provider_,
1822 StartObservingMediaRoutes(media_source.id())); 1811 StartObservingMediaRoutes(media_source.id()));
1823 EXPECT_CALL(mock_media_route_provider_, 1812 EXPECT_CALL(mock_media_route_provider_,
1824 StartListeningForRouteMessages(media_source.id())); 1813 StartListeningForRouteMessages(media_source.id()));
1825 media_router_->OnConnectionError(); 1814 media_router_->OnConnectionError();
1826 BindMediaRouteProvider(); 1815 BindMediaRouteProvider();
1827 RegisterMediaRouteProvider(); 1816 RegisterMediaRouteProvider();
1828 base::RunLoop().RunUntilIdle(); 1817 base::RunLoop().RunUntilIdle();
1829 } 1818 }
1830 } 1819 }
1831 1820
1832 } // namespace media_router 1821 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698