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

Side by Side Diff: chrome/browser/ui/webui/media_router/media_router_ui_unittest.cc

Issue 1415103006: Non-Local Join for Media Router and Presentation API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added Unit Tests Created 5 years, 1 month 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "chrome/browser/media/router/media_route.h" 6 #include "chrome/browser/media/router/media_route.h"
7 #include "chrome/browser/media/router/mock_media_router.h" 7 #include "chrome/browser/media/router/mock_media_router.h"
8 #include "chrome/browser/ui/webui/media_router/media_router_ui.h" 8 #include "chrome/browser/ui/webui/media_router/media_router_ui.h"
9 #include "testing/gmock/include/gmock/gmock.h" 9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 using testing::_; 12 using testing::_;
13 using testing::SaveArg; 13 using testing::SaveArg;
14 14
15 namespace media_router { 15 namespace media_router {
16 16
17 class MediaRouterUITest : public ::testing::Test { 17 class MediaRouterUITest : public ::testing::Test {
18 public: 18 public:
19 MediaRouterUITest() {} 19 MediaRouterUITest() {}
20 ~MediaRouterUITest() override {} 20 ~MediaRouterUITest() override {}
21 21
22 MOCK_METHOD1(OnRoutesUpdated, void(const std::vector<MediaRoute>& routes)); 22 MOCK_METHOD2(OnRoutesUpdated,
23 void(const std::vector<MediaRoute>& routes,
24 const std::vector<MediaRoute>& joinable_routes));
23 }; 25 };
24 26
25 TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) { 27 TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) {
26 MockMediaRouter mock_router; 28 MockMediaRouter mock_router;
27 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1); 29 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1);
30 MediaSource media_source("mediaSource");
28 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer( 31 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer(
29 new MediaRouterUI::UIMediaRoutesObserver( 32 new MediaRouterUI::UIMediaRoutesObserver(
30 &mock_router, base::Bind(&MediaRouterUITest::OnRoutesUpdated, 33 &mock_router, media_source.id(),
34 base::Bind(&MediaRouterUITest::OnRoutesUpdated,
31 base::Unretained(this)))); 35 base::Unretained(this))));
32 36
33 MediaRoute display_route_1("routeId1", MediaSource("mediaSource"), "sinkId1", 37 MediaRoute display_route_1("routeId1", media_source, "sinkId1",
34 "desc 1", true, "", true); 38 "desc 1", true, "", true);
35 MediaRoute non_display_route_1("routeId2", MediaSource("mediaSource"), 39 MediaRoute non_display_route_1("routeId2", media_source,
36 "sinkId2", "desc 2", true, "", false); 40 "sinkId2", "desc 2", true, "", false);
37 MediaRoute display_route_2("routeId2", MediaSource("mediaSource"), "sinkId2", 41 MediaRoute display_route_2("routeId2", media_source, "sinkId2",
38 "desc 2", true, "", true); 42 "desc 2", true, "", true);
39 std::vector<MediaRoute> routes; 43 std::vector<MediaRoute> routes;
40 routes.push_back(display_route_1); 44 routes.push_back(display_route_1);
41 routes.push_back(non_display_route_1); 45 routes.push_back(non_display_route_1);
42 routes.push_back(display_route_2); 46 routes.push_back(display_route_2);
43 47
44 std::vector<MediaRoute> filtered_routes; 48 std::vector<MediaRoute> filtered_routes;
45 EXPECT_CALL(*this, OnRoutesUpdated(_)).WillOnce(SaveArg<0>(&filtered_routes)); 49 EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce(
46 observer->OnRoutesUpdated(routes); 50 SaveArg<0>(&filtered_routes));
51 observer->OnRoutesUpdated(media_source.id(),
52 routes,
53 std::vector<MediaRoute>());
47 54
48 ASSERT_EQ(2u, filtered_routes.size()); 55 ASSERT_EQ(2u, filtered_routes.size());
49 EXPECT_TRUE(display_route_1.Equals(filtered_routes[0])); 56 EXPECT_TRUE(display_route_1.Equals(filtered_routes[0]));
57 EXPECT_TRUE(filtered_routes[0].for_display());
58 EXPECT_TRUE(display_route_2.Equals(filtered_routes[1]));
59 EXPECT_TRUE(filtered_routes[1].for_display());
60
61 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1);
62 observer.reset();
63 }
64
65 TEST_F(MediaRouterUITest,
66 UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes) {
67 MockMediaRouter mock_router;
68 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1);
69 MediaSource media_source("mediaSource");
70 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer(
71 new MediaRouterUI::UIMediaRoutesObserver(
72 &mock_router, media_source.id(),
73 base::Bind(&MediaRouterUITest::OnRoutesUpdated,
74 base::Unretained(this))));
75
76 MediaRoute display_route_1("routeId1", media_source, "sinkId1",
77 "desc 1", true, "", true);
78 MediaRoute non_display_route_1("routeId2", media_source,
79 "sinkId2", "desc 2", true, "", false);
80 MediaRoute display_route_2("routeId2", media_source, "sinkId2",
81 "desc 2", true, "", true);
82 std::vector<MediaRoute> routes;
83 routes.push_back(display_route_1);
84 routes.push_back(non_display_route_1);
85 routes.push_back(display_route_2);
86
87 std::vector<MediaRoute> filtered_routes;
88 EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce(
89 SaveArg<1>(&filtered_routes));
90 observer->OnRoutesUpdated(media_source.id(),
91 std::vector<MediaRoute>(),
92 routes);
93
94 ASSERT_EQ(2u, filtered_routes.size());
95 EXPECT_TRUE(display_route_1.Equals(filtered_routes[0]));
50 EXPECT_TRUE(filtered_routes[0].for_display()); 96 EXPECT_TRUE(filtered_routes[0].for_display());
51 EXPECT_TRUE(display_route_2.Equals(filtered_routes[1])); 97 EXPECT_TRUE(display_route_2.Equals(filtered_routes[1]));
52 EXPECT_TRUE(filtered_routes[1].for_display()); 98 EXPECT_TRUE(filtered_routes[1].for_display());
53 99
54 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1); 100 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1);
55 observer.reset(); 101 observer.reset();
56 } 102 }
57 103
58 } // namespace media_router 104 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698