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

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

Issue 1693963003: Pass origin to StartObservingMediaSinks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for Review Created 4 years, 10 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/containers/hash_tables.h" 6 #include "base/containers/hash_tables.h"
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "chrome/browser/media/router/media_sinks_observer.h" 10 #include "chrome/browser/media/router/media_sinks_observer.h"
(...skipping 22 matching lines...) Expand all
33 }; 33 };
34 34
35 } // namespace 35 } // namespace
36 36
37 class QueryResultManagerTest : public ::testing::Test { 37 class QueryResultManagerTest : public ::testing::Test {
38 public: 38 public:
39 QueryResultManagerTest() 39 QueryResultManagerTest()
40 : mock_router_(), query_result_manager_(&mock_router_) { 40 : mock_router_(), query_result_manager_(&mock_router_) {
41 } 41 }
42 42
43 void DiscoverSinks(MediaCastMode cast_mode, const MediaSource& source) { 43 void DiscoverSinks(MediaCastMode cast_mode, const MediaSource& source,
44 const GURL& origin) {
44 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)) 45 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_))
45 .WillOnce(Return(true)); 46 .WillOnce(Return(true));
46 EXPECT_CALL(mock_observer_, OnResultsUpdated(_)).Times(1); 47 EXPECT_CALL(mock_observer_, OnResultsUpdated(_)).Times(1);
47 query_result_manager_.StartSinksQuery(cast_mode, source); 48 query_result_manager_.StartSinksQuery(cast_mode, source, origin);
48 } 49 }
49 50
50 MockMediaRouter mock_router_; 51 MockMediaRouter mock_router_;
51 QueryResultManager query_result_manager_; 52 QueryResultManager query_result_manager_;
52 MockObserver mock_observer_; 53 MockObserver mock_observer_;
53 54
54 private: 55 private:
55 DISALLOW_COPY_AND_ASSIGN(QueryResultManagerTest); 56 DISALLOW_COPY_AND_ASSIGN(QueryResultManagerTest);
56 }; 57 };
57 58
(...skipping 30 matching lines...) Expand all
88 TEST_F(QueryResultManagerTest, StartStopSinksQuery) { 89 TEST_F(QueryResultManagerTest, StartStopSinksQuery) {
89 CastModeSet cast_modes; 90 CastModeSet cast_modes;
90 91
91 query_result_manager_.GetSupportedCastModes(&cast_modes); 92 query_result_manager_.GetSupportedCastModes(&cast_modes);
92 EXPECT_TRUE(cast_modes.empty()); 93 EXPECT_TRUE(cast_modes.empty());
93 MediaSource actual_source = 94 MediaSource actual_source =
94 query_result_manager_.GetSourceForCastMode(MediaCastMode::DEFAULT); 95 query_result_manager_.GetSourceForCastMode(MediaCastMode::DEFAULT);
95 EXPECT_TRUE(actual_source.Empty()); 96 EXPECT_TRUE(actual_source.Empty());
96 97
97 MediaSource source(MediaSourceForPresentationUrl("http://fooUrl")); 98 MediaSource source(MediaSourceForPresentationUrl("http://fooUrl"));
99 GURL origin("http://fooUrl");
mark a. foltz 2016/02/17 21:50:51 Nit: Technically this is a valid URL but can we us
matt.boetger 2016/02/18 00:50:33 Done.
98 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)) 100 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_))
99 .WillOnce(Return(true)); 101 .WillOnce(Return(true));
100 query_result_manager_.StartSinksQuery(MediaCastMode::DEFAULT, source); 102 query_result_manager_.StartSinksQuery(MediaCastMode::DEFAULT, source, origin);
101 103
102 query_result_manager_.GetSupportedCastModes(&cast_modes); 104 query_result_manager_.GetSupportedCastModes(&cast_modes);
103 EXPECT_EQ(1u, cast_modes.size()); 105 EXPECT_EQ(1u, cast_modes.size());
104 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); 106 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT));
105 actual_source = query_result_manager_.GetSourceForCastMode( 107 actual_source = query_result_manager_.GetSourceForCastMode(
106 MediaCastMode::DEFAULT); 108 MediaCastMode::DEFAULT);
107 EXPECT_TRUE(source.Equals(actual_source)); 109 EXPECT_TRUE(source.Equals(actual_source));
108 110
109 // Register a different source for the same cast mode. 111 // Register a different source for the same cast mode.
110 MediaSource another_source(MediaSourceForPresentationUrl("http://barUrl")); 112 MediaSource another_source(MediaSourceForPresentationUrl("http://barUrl"));
113 GURL another_origin("http://barUrl");
mark a. foltz 2016/02/17 21:50:51 Ditto
matt.boetger 2016/02/18 00:50:33 Done.
111 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); 114 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1);
112 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)) 115 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_))
113 .WillOnce(Return(true)); 116 .WillOnce(Return(true));
114 query_result_manager_.StartSinksQuery( 117 query_result_manager_.StartSinksQuery(
115 MediaCastMode::DEFAULT, another_source); 118 MediaCastMode::DEFAULT, another_source, another_origin);
116 119
117 query_result_manager_.GetSupportedCastModes(&cast_modes); 120 query_result_manager_.GetSupportedCastModes(&cast_modes);
118 EXPECT_EQ(1u, cast_modes.size()); 121 EXPECT_EQ(1u, cast_modes.size());
119 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); 122 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT));
120 actual_source = query_result_manager_.GetSourceForCastMode( 123 actual_source = query_result_manager_.GetSourceForCastMode(
121 MediaCastMode::DEFAULT); 124 MediaCastMode::DEFAULT);
122 EXPECT_TRUE(another_source.Equals(actual_source)); 125 EXPECT_TRUE(another_source.Equals(actual_source));
123 126
124 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); 127 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1);
125 query_result_manager_.StopSinksQuery(MediaCastMode::DEFAULT); 128 query_result_manager_.StopSinksQuery(MediaCastMode::DEFAULT);
126 129
127 query_result_manager_.GetSupportedCastModes(&cast_modes); 130 query_result_manager_.GetSupportedCastModes(&cast_modes);
128 EXPECT_TRUE(cast_modes.empty()); 131 EXPECT_TRUE(cast_modes.empty());
129 actual_source = query_result_manager_.GetSourceForCastMode( 132 actual_source = query_result_manager_.GetSourceForCastMode(
130 MediaCastMode::DEFAULT); 133 MediaCastMode::DEFAULT);
131 EXPECT_TRUE(actual_source.Empty()); 134 EXPECT_TRUE(actual_source.Empty());
132 } 135 }
133 136
134 TEST_F(QueryResultManagerTest, MultipleQueries) { 137 TEST_F(QueryResultManagerTest, MultipleQueries) {
135 MediaSink sink1("sinkId1", "Sink 1", MediaSink::IconType::CAST); 138 MediaSink sink1("sinkId1", "Sink 1", MediaSink::IconType::CAST);
136 MediaSink sink2("sinkId2", "Sink 2", MediaSink::IconType::CAST); 139 MediaSink sink2("sinkId2", "Sink 2", MediaSink::IconType::CAST);
137 MediaSink sink3("sinkId3", "Sink 3", MediaSink::IconType::CAST); 140 MediaSink sink3("sinkId3", "Sink 3", MediaSink::IconType::CAST);
138 MediaSink sink4("sinkId4", "Sink 4", MediaSink::IconType::CAST); 141 MediaSink sink4("sinkId4", "Sink 4", MediaSink::IconType::CAST);
139 MediaSink sink5("sinkId5", "Sink 5", MediaSink::IconType::CAST); 142 MediaSink sink5("sinkId5", "Sink 5", MediaSink::IconType::CAST);
140 143
141 query_result_manager_.AddObserver(&mock_observer_); 144 query_result_manager_.AddObserver(&mock_observer_);
142 DiscoverSinks(MediaCastMode::DEFAULT, 145 DiscoverSinks(MediaCastMode::DEFAULT,
143 MediaSourceForPresentationUrl("http://barUrl")); 146 MediaSourceForPresentationUrl("http://barUrl"),
144 DiscoverSinks(MediaCastMode::TAB_MIRROR, MediaSourceForTab(123)); 147 GURL("http://barUrl"));
148 DiscoverSinks(MediaCastMode::TAB_MIRROR,
149 MediaSourceForTab(123),
150 GURL("http://barUrl"));
145 151
146 // Scenario (results in this order): 152 // Scenario (results in this order):
147 // Action: DEFAULT -> [1, 2, 3] 153 // Action: DEFAULT -> [1, 2, 3]
148 // Expected result: 154 // Expected result:
149 // Sinks: [1 -> {DEFAULT}, 2 -> {DEFAULT}, 3 -> {DEFAULT}] 155 // Sinks: [1 -> {DEFAULT}, 2 -> {DEFAULT}, 3 -> {DEFAULT}]
150 std::vector<MediaSinkWithCastModes> expected_sinks; 156 std::vector<MediaSinkWithCastModes> expected_sinks;
151 expected_sinks.push_back(MediaSinkWithCastModes(sink1)); 157 expected_sinks.push_back(MediaSinkWithCastModes(sink1));
152 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); 158 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT);
153 expected_sinks.push_back(MediaSinkWithCastModes(sink2)); 159 expected_sinks.push_back(MediaSinkWithCastModes(sink2));
154 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); 160 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 expected_sinks.push_back(MediaSinkWithCastModes(sink4)); 213 expected_sinks.push_back(MediaSinkWithCastModes(sink4));
208 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR); 214 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR);
209 215
210 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); 216 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1);
211 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)) 217 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_))
212 .WillOnce(Return(true)); 218 .WillOnce(Return(true));
213 EXPECT_CALL(mock_observer_, 219 EXPECT_CALL(mock_observer_,
214 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); 220 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1);
215 query_result_manager_.StartSinksQuery( 221 query_result_manager_.StartSinksQuery(
216 MediaCastMode::DEFAULT, 222 MediaCastMode::DEFAULT,
217 MediaSourceForPresentationUrl("http://bazurl.com")); 223 MediaSourceForPresentationUrl("http://bazurl.com"),
224 GURL("http://bazurl.com"));
218 225
219 // Action: Remove TAB_MIRROR observer 226 // Action: Remove TAB_MIRROR observer
220 // Expected result: 227 // Expected result:
221 // Sinks: [] 228 // Sinks: []
222 expected_sinks.clear(); 229 expected_sinks.clear();
223 EXPECT_CALL(mock_observer_, 230 EXPECT_CALL(mock_observer_,
224 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); 231 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1);
225 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); 232 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1);
226 query_result_manager_.StopSinksQuery(MediaCastMode::TAB_MIRROR); 233 query_result_manager_.StopSinksQuery(MediaCastMode::TAB_MIRROR);
227 234
228 // Remaining observers: DEFAULT observer, which will be removed on destruction 235 // Remaining observers: DEFAULT observer, which will be removed on destruction
229 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); 236 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1);
230 } 237 }
231 238
232 } // namespace media_router 239 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698