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

Side by Side Diff: chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc

Issue 1744673002: Added support for multiple sink observers per frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed url nit and SmallMap TODO Created 4 years, 9 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
« no previous file with comments | « chrome/browser/media/router/presentation_service_delegate_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <vector> 5 #include <vector>
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/media/router/media_source.h" 8 #include "chrome/browser/media/router/media_source.h"
9 #include "chrome/browser/media/router/media_source_helper.h" 9 #include "chrome/browser/media/router/media_source_helper.h"
10 #include "chrome/browser/media/router/mock_media_router.h" 10 #include "chrome/browser/media/router/mock_media_router.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 delegate_impl_->RemoveScreenAvailabilityListener( 185 delegate_impl_->RemoveScreenAvailabilityListener(
186 render_process_id, render_frame_id1, &listener1); 186 render_process_id, render_frame_id1, &listener1);
187 delegate_impl_->RemoveScreenAvailabilityListener( 187 delegate_impl_->RemoveScreenAvailabilityListener(
188 render_process_id, render_frame_id2, &listener2); 188 render_process_id, render_frame_id2, &listener2);
189 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 189 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
190 render_process_id, render_frame_id1, source1.id())); 190 render_process_id, render_frame_id1, source1.id()));
191 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 191 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
192 render_process_id, render_frame_id2, source2.id())); 192 render_process_id, render_frame_id2, source2.id()));
193 } 193 }
194 194
195 TEST_F(PresentationServiceDelegateImplTest, AddMultipleListenersToFrame) {
196 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
197
198 std::string presentation_url1("http://url1.com");
199 std::string presentation_url2("http://url2.com");
200 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
201 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
202 MockScreenAvailabilityListener listener1(presentation_url1);
203 MockScreenAvailabilityListener listener2(presentation_url2);
204 int render_process_id = 10;
205 int render_frame_id = 1;
206
207 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2);
208 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
209 render_process_id, render_frame_id, &listener1));
210 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
211 render_process_id, render_frame_id, &listener2));
212 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
213 render_process_id, render_frame_id, source1.id()))
214 << "Mapping not found for " << source1.ToString();
215 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
216 render_process_id, render_frame_id, source2.id()))
217 << "Mapping not found for " << source2.ToString();
218
219 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(2);
220 delegate_impl_->RemoveScreenAvailabilityListener(
221 render_process_id, render_frame_id, &listener1);
222 delegate_impl_->RemoveScreenAvailabilityListener(
223 render_process_id, render_frame_id, &listener2);
224 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
225 render_process_id, render_frame_id, source1.id()));
226 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
227 render_process_id, render_frame_id, source2.id()));
228 }
229
195 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { 230 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) {
196 std::string presentation_url1("http://url1.fakeUrl"); 231 std::string presentation_url1("http://url1.fakeUrl");
197 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); 232 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1));
198 MockScreenAvailabilityListener listener1(presentation_url1); 233 MockScreenAvailabilityListener listener1(presentation_url1);
199 int render_process_id = 1; 234 int render_process_id = 1;
200 int render_frame_id = 0; 235 int render_frame_id = 0;
201 236
202 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true)); 237 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true));
203 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 238 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
204 render_process_id, render_frame_id, &listener1)); 239 render_process_id, render_frame_id, &listener1));
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 const int render_process_id = 10; 447 const int render_process_id = 10;
413 const int render_frame_id = 1; 448 const int render_frame_id = 1;
414 449
415 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false)); 450 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false));
416 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported()); 451 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported());
417 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 452 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
418 render_process_id, render_frame_id, &listener)); 453 render_process_id, render_frame_id, &listener));
419 } 454 }
420 455
421 } // namespace media_router 456 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/presentation_service_delegate_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698