| 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 44bb9d0e85535d2e06b1831bbacaa3b52fa56df0..5dda8c141e1cf8140d9b32d045b5d60867627f7a 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
|
| @@ -19,22 +19,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);
|
| @@ -42,8 +46,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]));
|
| @@ -55,4 +61,45 @@ 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,
|
| + 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));
|
| + 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();
|
| +}
|
| +
|
| } // namespace media_router
|
|
|