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

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: Review Fixes 2 Created 5 years 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 "extensions/browser/extension_registry.h" 9 #include "extensions/browser/extension_registry.h"
10 #include "extensions/common/extension.h" 10 #include "extensions/common/extension.h"
11 #include "extensions/common/extension_builder.h" 11 #include "extensions/common/extension_builder.h"
12 #include "extensions/common/test_util.h" 12 #include "extensions/common/test_util.h"
13 #include "extensions/common/value_builder.h" 13 #include "extensions/common/value_builder.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 using testing::_; 17 using testing::_;
18 using testing::SaveArg; 18 using testing::SaveArg;
19 19
20 namespace media_router { 20 namespace media_router {
21 21
22 class MediaRouterUITest : public ::testing::Test { 22 class MediaRouterUITest : public ::testing::Test {
23 public: 23 public:
24 MediaRouterUITest() {} 24 MediaRouterUITest() {}
25 ~MediaRouterUITest() override {} 25 ~MediaRouterUITest() override {}
26 26
27 MOCK_METHOD1(OnRoutesUpdated, void(const std::vector<MediaRoute>& routes)); 27 MOCK_METHOD2(OnRoutesUpdated,
28 void(const std::vector<MediaRoute>& routes,
29 const std::vector<MediaRoute::Id>& joinable_route_ids));
28 }; 30 };
29 31
30 TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) { 32 TEST_F(MediaRouterUITest, UIMediaRoutesObserverFiltersNonDisplayRoutes) {
31 MockMediaRouter mock_router; 33 MockMediaRouter mock_router;
32 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1); 34 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1);
35 MediaSource media_source("mediaSource");
33 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer( 36 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer(
34 new MediaRouterUI::UIMediaRoutesObserver( 37 new MediaRouterUI::UIMediaRoutesObserver(
35 &mock_router, base::Bind(&MediaRouterUITest::OnRoutesUpdated, 38 &mock_router, media_source.id(),
39 base::Bind(&MediaRouterUITest::OnRoutesUpdated,
36 base::Unretained(this)))); 40 base::Unretained(this))));
37 41
38 MediaRoute display_route_1("routeId1", MediaSource("mediaSource"), "sinkId1", 42 MediaRoute display_route_1("routeId1", media_source, "sinkId1",
39 "desc 1", true, "", true); 43 "desc 1", true, "", true);
40 MediaRoute non_display_route_1("routeId2", MediaSource("mediaSource"), 44 MediaRoute non_display_route_1("routeId2", media_source,
41 "sinkId2", "desc 2", true, "", false); 45 "sinkId2", "desc 2", true, "", false);
42 MediaRoute display_route_2("routeId2", MediaSource("mediaSource"), "sinkId2", 46 MediaRoute display_route_2("routeId3", media_source, "sinkId2",
43 "desc 2", true, "", true); 47 "desc 2", true, "", true);
44 std::vector<MediaRoute> routes; 48 std::vector<MediaRoute> routes;
45 routes.push_back(display_route_1); 49 routes.push_back(display_route_1);
46 routes.push_back(non_display_route_1); 50 routes.push_back(non_display_route_1);
47 routes.push_back(display_route_2); 51 routes.push_back(display_route_2);
48 52
49 std::vector<MediaRoute> filtered_routes; 53 std::vector<MediaRoute> filtered_routes;
50 EXPECT_CALL(*this, OnRoutesUpdated(_)).WillOnce(SaveArg<0>(&filtered_routes)); 54 EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce(
51 observer->OnRoutesUpdated(routes); 55 SaveArg<0>(&filtered_routes));
56 observer->OnRoutesUpdated(routes,
57 std::vector<MediaRoute::Id>());
52 58
53 ASSERT_EQ(2u, filtered_routes.size()); 59 ASSERT_EQ(2u, filtered_routes.size());
54 EXPECT_TRUE(display_route_1.Equals(filtered_routes[0])); 60 EXPECT_TRUE(display_route_1.Equals(filtered_routes[0]));
55 EXPECT_TRUE(filtered_routes[0].for_display()); 61 EXPECT_TRUE(filtered_routes[0].for_display());
56 EXPECT_TRUE(display_route_2.Equals(filtered_routes[1])); 62 EXPECT_TRUE(display_route_2.Equals(filtered_routes[1]));
57 EXPECT_TRUE(filtered_routes[1].for_display()); 63 EXPECT_TRUE(filtered_routes[1].for_display());
58 64
59 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1); 65 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1);
60 observer.reset(); 66 observer.reset();
61 } 67 }
62 68
69 TEST_F(MediaRouterUITest,
70 UIMediaRoutesObserverFiltersNonDisplayJoinableRoutes) {
71 MockMediaRouter mock_router;
72 EXPECT_CALL(mock_router, RegisterMediaRoutesObserver(_)).Times(1);
73 MediaSource media_source("mediaSource");
74 scoped_ptr<MediaRouterUI::UIMediaRoutesObserver> observer(
75 new MediaRouterUI::UIMediaRoutesObserver(
76 &mock_router, media_source.id(),
77 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.
78 base::Unretained(this))));
79
80 MediaRoute display_route_1("routeId1", media_source, "sinkId1",
81 "desc 1", true, "", true);
82 MediaRoute non_display_route_1("routeId2", media_source,
83 "sinkId2", "desc 2", true, "", false);
84 MediaRoute display_route_2("routeId3", media_source, "sinkId2",
85 "desc 2", true, "", true);
86 std::vector<MediaRoute> routes;
87 routes.push_back(display_route_1);
88 routes.push_back(non_display_route_1);
89 routes.push_back(display_route_2);
90
91 std::vector<MediaRoute::Id> joinable_route_ids;
92 joinable_route_ids.push_back("routeId1");
93 joinable_route_ids.push_back("routeId2");
94 joinable_route_ids.push_back("routeId3");
95
96 std::vector<MediaRoute::Id> filtered_route_ids;
97 EXPECT_CALL(*this, OnRoutesUpdated(_, _)).WillOnce(
98 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.
99 observer->OnRoutesUpdated(routes,
100 joinable_route_ids);
101
102 ASSERT_EQ(2u, filtered_route_ids.size());
103 EXPECT_EQ(display_route_1.media_route_id(), filtered_route_ids[0]);
104 EXPECT_EQ(display_route_2.media_route_id(), filtered_route_ids[1]);
105
106 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(_)).Times(1);
107 observer.reset();
108 }
109
63 TEST_F(MediaRouterUITest, GetExtensionNameExtensionPresent) { 110 TEST_F(MediaRouterUITest, GetExtensionNameExtensionPresent) {
64 std::string id = "extensionid"; 111 std::string id = "extensionid";
65 GURL url = GURL("chrome-extension://" + id); 112 GURL url = GURL("chrome-extension://" + id);
66 scoped_ptr<extensions::ExtensionRegistry> registry = 113 scoped_ptr<extensions::ExtensionRegistry> registry =
67 make_scoped_ptr(new extensions::ExtensionRegistry(nullptr)); 114 make_scoped_ptr(new extensions::ExtensionRegistry(nullptr));
68 scoped_refptr<extensions::Extension> app = 115 scoped_refptr<extensions::Extension> app =
69 extensions::test_util::BuildApp(extensions::ExtensionBuilder().Pass()) 116 extensions::test_util::BuildApp(extensions::ExtensionBuilder().Pass())
70 .MergeManifest( 117 .MergeManifest(
71 extensions::DictionaryBuilder().Set("name", "test app name")) 118 extensions::DictionaryBuilder().Set("name", "test app name"))
72 .SetID(id) 119 .SetID(id)
(...skipping 14 matching lines...) Expand all
87 } 134 }
88 135
89 TEST_F(MediaRouterUITest, GetExtensionNameEmptyWhenNotExtensionURL) { 136 TEST_F(MediaRouterUITest, GetExtensionNameEmptyWhenNotExtensionURL) {
90 GURL url = GURL("https://www.google.com"); 137 GURL url = GURL("https://www.google.com");
91 scoped_ptr<extensions::ExtensionRegistry> registry = 138 scoped_ptr<extensions::ExtensionRegistry> registry =
92 make_scoped_ptr(new extensions::ExtensionRegistry(nullptr)); 139 make_scoped_ptr(new extensions::ExtensionRegistry(nullptr));
93 140
94 EXPECT_EQ("", MediaRouterUI::GetExtensionName(url, registry.get())); 141 EXPECT_EQ("", MediaRouterUI::GetExtensionName(url, registry.get()));
95 } 142 }
96 } // namespace media_router 143 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698