Chromium Code Reviews| Index: chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc |
| diff --git a/chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc b/chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc |
| index 3b4ff917e635b504714b4a97eda47002d8fc5e3b..aa426dda946bebecb37e6476a0a984d48c244d7a 100644 |
| --- a/chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc |
| +++ b/chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc |
| @@ -24,22 +24,26 @@ class MediaRouterUITest : public ::testing::Test { |
| MediaRouterUITest() {} |
| ~MediaRouterUITest() override {} |
| - MOCK_METHOD1(OnRoutesUpdated, void(const std::vector<MediaRoute>& routes)); |
| + MOCK_METHOD2(OnRoutesUpdated, |
| + void(const std::vector<MediaRoute>& routes, |
| + const std::vector<MediaRoute::Id>& joinable_route_ids)); |
| }; |
| TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) { |
| MockMediaRouter mock_router; |
| EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1); |
| + MediaSource media_source("mediaSource"); |
| scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer( |
| new MediaRouterUI::UIMediaRoutesObserver( |
| - &mock_router, base::Bind(&MediaRouterUITest::OnRoutesUpdated, |
| + &mock_router, media_source.id(), |
| + base::Bind(&MediaRouterUITest::OnRoutesUpdated, |
| base::Unretained(this)))); |
| - MediaRoute display_route_1("routeId1", MediaSource("mediaSource"), "sinkId1", |
| + MediaRoute display_route_1("routeId1", media_source, "sinkId1", |
| "desc 1", true, "", true); |
| - MediaRoute non_display_route_1("routeId2", MediaSource("mediaSource"), |
| + MediaRoute non_display_route_1("routeId2", media_source, |
| "sinkId2", "desc 2", true, "", false); |
| - MediaRoute display_route_2("routeId2", MediaSource("mediaSource"), "sinkId2", |
| + MediaRoute display_route_2("routeId3", media_source, "sinkId2", |
| "desc 2", true, "", true); |
| std::vector<MediaRoute> routes; |
| routes.push_back(display_route_1); |
| @@ -47,8 +51,10 @@ TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) { |
| routes.push_back(display_route_2); |
| std::vector<MediaRoute> filtered_routes; |
| - EXPECT_CALL(*this, OnRoutesUpdated(_)).WillOnce(SaveArg<0>(&filtered_routes)); |
| - observer->OnRoutesUpdated(routes); |
| + EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce( |
| + SaveArg<0>(&filtered_routes)); |
| + observer->OnRoutesUpdated(routes, |
| + std::vector<MediaRoute::Id>()); |
| ASSERT_EQ(2u, filtered_routes.size()); |
| EXPECT_TRUE(display_route_1.Equals(filtered_routes[0])); |
| @@ -60,6 +66,47 @@ TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) { |
| observer.reset(); |
| } |
| +TEST_F(MediaRouterUITest, |
| + UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes) { |
| + MockMediaRouter mock_router; |
| + EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1); |
| + MediaSource media_source("mediaSource"); |
| + scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer( |
| + new MediaRouterUI::UIMediaRoutesObserver( |
| + &mock_router, media_source.id(), |
| + base::Bind(&MediaRouterUITest::OnRoutesUpdated, |
|
mark a. foltz
2015/12/09 00:48:17
Aside: I prefer that the mocks be declared in a se
matt.boetger
2015/12/15 19:21:20
Acknowledged.
|
| + base::Unretained(this)))); |
| + |
| + MediaRoute display_route_1("routeId1", media_source, "sinkId1", |
| + "desc 1", true, "", true); |
| + MediaRoute non_display_route_1("routeId2", media_source, |
| + "sinkId2", "desc 2", true, "", false); |
| + MediaRoute display_route_2("routeId3", media_source, "sinkId2", |
| + "desc 2", true, "", true); |
| + std::vector<MediaRoute> routes; |
| + routes.push_back(display_route_1); |
| + routes.push_back(non_display_route_1); |
| + routes.push_back(display_route_2); |
| + |
| + std::vector<MediaRoute::Id> joinable_route_ids; |
| + joinable_route_ids.push_back("routeId1"); |
| + joinable_route_ids.push_back("routeId2"); |
| + joinable_route_ids.push_back("routeId3"); |
| + |
| + std::vector<MediaRoute::Id> filtered_route_ids; |
| + EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce( |
| + SaveArg<1>(&filtered_route_ids)); |
|
mark a. foltz
2015/12/09 00:48:17
Don't you want to assert that the joinable_route_i
matt.boetger
2015/12/15 19:21:20
That's what this code is doing.
|
| + observer->OnRoutesUpdated(routes, |
| + joinable_route_ids); |
| + |
| + ASSERT_EQ(2u, filtered_route_ids.size()); |
| + EXPECT_EQ(display_route_1.media_route_id(), filtered_route_ids[0]); |
| + EXPECT_EQ(display_route_2.media_route_id(), filtered_route_ids[1]); |
| + |
| + EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1); |
| + observer.reset(); |
| +} |
| + |
| TEST_F(MediaRouterUITest, GetExtensionNameExtensionPresent) { |
| std::string id = "extensionid"; |
| GURL url = GURL("chrome-extension://" + id); |