OLD | NEW |
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/memory/scoped_vector.h" | 8 #include "base/memory/scoped_vector.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 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 | 86 |
87 TEST_F(QueryResultManagerTest, StartStopSinksQuery) { | 87 TEST_F(QueryResultManagerTest, StartStopSinksQuery) { |
88 CastModeSet cast_modes; | 88 CastModeSet cast_modes; |
89 | 89 |
90 query_result_manager_.GetSupportedCastModes(&cast_modes); | 90 query_result_manager_.GetSupportedCastModes(&cast_modes); |
91 EXPECT_TRUE(cast_modes.empty()); | 91 EXPECT_TRUE(cast_modes.empty()); |
92 MediaSource actual_source = | 92 MediaSource actual_source = |
93 query_result_manager_.GetSourceForCastMode(MediaCastMode::DEFAULT); | 93 query_result_manager_.GetSourceForCastMode(MediaCastMode::DEFAULT); |
94 EXPECT_TRUE(actual_source.Empty()); | 94 EXPECT_TRUE(actual_source.Empty()); |
95 | 95 |
96 MediaSource source(ForPresentationUrl("http://fooUrl")); | 96 MediaSource source(MediaSourceForPresentationUrl("http://fooUrl")); |
97 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); | 97 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); |
98 query_result_manager_.StartSinksQuery(MediaCastMode::DEFAULT, source); | 98 query_result_manager_.StartSinksQuery(MediaCastMode::DEFAULT, source); |
99 | 99 |
100 query_result_manager_.GetSupportedCastModes(&cast_modes); | 100 query_result_manager_.GetSupportedCastModes(&cast_modes); |
101 EXPECT_EQ(1u, cast_modes.size()); | 101 EXPECT_EQ(1u, cast_modes.size()); |
102 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); | 102 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); |
103 actual_source = query_result_manager_.GetSourceForCastMode( | 103 actual_source = query_result_manager_.GetSourceForCastMode( |
104 MediaCastMode::DEFAULT); | 104 MediaCastMode::DEFAULT); |
105 EXPECT_TRUE(source.Equals(actual_source)); | 105 EXPECT_TRUE(source.Equals(actual_source)); |
106 | 106 |
107 // Register a different source for the same cast mode. | 107 // Register a different source for the same cast mode. |
108 MediaSource another_source(ForPresentationUrl("http://barUrl")); | 108 MediaSource another_source(MediaSourceForPresentationUrl("http://barUrl")); |
109 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); | 109 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); |
110 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); | 110 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); |
111 query_result_manager_.StartSinksQuery( | 111 query_result_manager_.StartSinksQuery( |
112 MediaCastMode::DEFAULT, another_source); | 112 MediaCastMode::DEFAULT, another_source); |
113 | 113 |
114 query_result_manager_.GetSupportedCastModes(&cast_modes); | 114 query_result_manager_.GetSupportedCastModes(&cast_modes); |
115 EXPECT_EQ(1u, cast_modes.size()); | 115 EXPECT_EQ(1u, cast_modes.size()); |
116 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); | 116 EXPECT_TRUE(ContainsKey(cast_modes, MediaCastMode::DEFAULT)); |
117 actual_source = query_result_manager_.GetSourceForCastMode( | 117 actual_source = query_result_manager_.GetSourceForCastMode( |
118 MediaCastMode::DEFAULT); | 118 MediaCastMode::DEFAULT); |
(...skipping 10 matching lines...) Expand all Loading... |
129 } | 129 } |
130 | 130 |
131 TEST_F(QueryResultManagerTest, MultipleQueries) { | 131 TEST_F(QueryResultManagerTest, MultipleQueries) { |
132 MediaSink sink1("sinkId1", "Sink 1"); | 132 MediaSink sink1("sinkId1", "Sink 1"); |
133 MediaSink sink2("sinkId2", "Sink 2"); | 133 MediaSink sink2("sinkId2", "Sink 2"); |
134 MediaSink sink3("sinkId3", "Sink 3"); | 134 MediaSink sink3("sinkId3", "Sink 3"); |
135 MediaSink sink4("sinkId4", "Sink 4"); | 135 MediaSink sink4("sinkId4", "Sink 4"); |
136 MediaSink sink5("sinkId5", "Sink 5"); | 136 MediaSink sink5("sinkId5", "Sink 5"); |
137 | 137 |
138 query_result_manager_.AddObserver(&mock_observer_); | 138 query_result_manager_.AddObserver(&mock_observer_); |
139 DiscoverSinks(MediaCastMode::DEFAULT, ForPresentationUrl("http://barUrl")); | 139 DiscoverSinks(MediaCastMode::DEFAULT, |
140 DiscoverSinks(MediaCastMode::TAB_MIRROR, ForTabMediaSource(123)); | 140 MediaSourceForPresentationUrl("http://barUrl")); |
| 141 DiscoverSinks(MediaCastMode::TAB_MIRROR, MediaSourceForTab(123)); |
141 | 142 |
142 // Scenario (results in this order): | 143 // Scenario (results in this order): |
143 // Action: DEFAULT -> [1, 2, 3] | 144 // Action: DEFAULT -> [1, 2, 3] |
144 // Expected result: | 145 // Expected result: |
145 // Sinks: [1 -> {DEFAULT}, 2 -> {DEFAULT}, 3 -> {DEFAULT}] | 146 // Sinks: [1 -> {DEFAULT}, 2 -> {DEFAULT}, 3 -> {DEFAULT}] |
146 std::vector<MediaSinkWithCastModes> expected_sinks; | 147 std::vector<MediaSinkWithCastModes> expected_sinks; |
147 expected_sinks.push_back(MediaSinkWithCastModes(sink1)); | 148 expected_sinks.push_back(MediaSinkWithCastModes(sink1)); |
148 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); | 149 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); |
149 expected_sinks.push_back(MediaSinkWithCastModes(sink2)); | 150 expected_sinks.push_back(MediaSinkWithCastModes(sink2)); |
150 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); | 151 expected_sinks.back().cast_modes.insert(MediaCastMode::DEFAULT); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR); | 203 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR); |
203 expected_sinks.push_back(MediaSinkWithCastModes(sink4)); | 204 expected_sinks.push_back(MediaSinkWithCastModes(sink4)); |
204 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR); | 205 expected_sinks.back().cast_modes.insert(MediaCastMode::TAB_MIRROR); |
205 | 206 |
206 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); | 207 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); |
207 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); | 208 EXPECT_CALL(mock_router_, RegisterMediaSinksObserver(_)).Times(1); |
208 EXPECT_CALL(mock_observer_, | 209 EXPECT_CALL(mock_observer_, |
209 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); | 210 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); |
210 query_result_manager_.StartSinksQuery( | 211 query_result_manager_.StartSinksQuery( |
211 MediaCastMode::DEFAULT, | 212 MediaCastMode::DEFAULT, |
212 ForPresentationUrl("http://bazurl.com")); | 213 MediaSourceForPresentationUrl("http://bazurl.com")); |
213 | 214 |
214 // Action: Remove TAB_MIRROR observer | 215 // Action: Remove TAB_MIRROR observer |
215 // Expected result: | 216 // Expected result: |
216 // Sinks: [] | 217 // Sinks: [] |
217 expected_sinks.clear(); | 218 expected_sinks.clear(); |
218 EXPECT_CALL(mock_observer_, | 219 EXPECT_CALL(mock_observer_, |
219 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); | 220 OnResultsUpdated(VectorEquals(expected_sinks))).Times(1); |
220 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); | 221 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); |
221 query_result_manager_.StopSinksQuery(MediaCastMode::TAB_MIRROR); | 222 query_result_manager_.StopSinksQuery(MediaCastMode::TAB_MIRROR); |
222 | 223 |
223 // Remaining observers: DEFAULT observer, which will be removed on destruction | 224 // Remaining observers: DEFAULT observer, which will be removed on destruction |
224 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); | 225 EXPECT_CALL(mock_router_, UnregisterMediaSinksObserver(_)).Times(1); |
225 } | 226 } |
226 | 227 |
227 } // namespace media_router | 228 } // namespace media_router |
OLD | NEW |