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

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

Issue 1784533004: [Media Router] Add origins to sink query results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test 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
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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 content::WebContents* incognito_web_contents_; 156 content::WebContents* incognito_web_contents_;
157 }; 157 };
158 158
159 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { 159 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) {
160 std::string presentation_url1("http://url1.fakeUrl"); 160 std::string presentation_url1("http://url1.fakeUrl");
161 std::string presentation_url2("http://url2.fakeUrl"); 161 std::string presentation_url2("http://url2.fakeUrl");
162 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); 162 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
163 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); 163 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
164 MockScreenAvailabilityListener listener1(presentation_url1); 164 MockScreenAvailabilityListener listener1(presentation_url1);
165 MockScreenAvailabilityListener listener2(presentation_url2); 165 MockScreenAvailabilityListener listener2(presentation_url2);
166 int render_process_id = 10; 166 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame();
167 int render_frame_id1 = 1; 167 ASSERT_TRUE(main_frame);
168 int render_process_id = main_frame->GetProcess()->GetID();
169 int render_frame_id1 = main_frame->GetRoutingID();
170
171 // Note that |render_frame_id2| does not correspond to a real frame. As a
172 // result, the observer added with have an empty GURL as origin.
168 int render_frame_id2 = 2; 173 int render_frame_id2 = 2;
169 174
170 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) 175 EXPECT_CALL(router_, RegisterMediaSinksObserver(_))
171 .Times(2) 176 .Times(2)
172 .WillRepeatedly(Return(true)); 177 .WillRepeatedly(Return(true));
173 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 178 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
174 render_process_id, render_frame_id1, &listener1)); 179 render_process_id, render_frame_id1, &listener1));
175 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 180 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
176 render_process_id, render_frame_id2, &listener2)); 181 render_process_id, render_frame_id2, &listener2));
177 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 182 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
(...skipping 16 matching lines...) Expand all
194 199
195 TEST_F(PresentationServiceDelegateImplTest, AddMultipleListenersToFrame) { 200 TEST_F(PresentationServiceDelegateImplTest, AddMultipleListenersToFrame) {
196 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); 201 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true));
197 202
198 std::string presentation_url1("http://url1.com"); 203 std::string presentation_url1("http://url1.com");
199 std::string presentation_url2("http://url2.com"); 204 std::string presentation_url2("http://url2.com");
200 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); 205 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1);
201 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); 206 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2);
202 MockScreenAvailabilityListener listener1(presentation_url1); 207 MockScreenAvailabilityListener listener1(presentation_url1);
203 MockScreenAvailabilityListener listener2(presentation_url2); 208 MockScreenAvailabilityListener listener2(presentation_url2);
204 int render_process_id = 10; 209 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame();
205 int render_frame_id = 1; 210 ASSERT_TRUE(main_frame);
211 int render_process_id = main_frame->GetProcess()->GetID();
212 int render_frame_id = main_frame->GetRoutingID();
206 213
207 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2); 214 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2);
208 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 215 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
209 render_process_id, render_frame_id, &listener1)); 216 render_process_id, render_frame_id, &listener1));
210 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 217 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
211 render_process_id, render_frame_id, &listener2)); 218 render_process_id, render_frame_id, &listener2));
212 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 219 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
213 render_process_id, render_frame_id, source1.id())) 220 render_process_id, render_frame_id, source1.id()))
214 << "Mapping not found for " << source1.ToString(); 221 << "Mapping not found for " << source1.ToString();
215 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 222 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
216 render_process_id, render_frame_id, source2.id())) 223 render_process_id, render_frame_id, source2.id()))
217 << "Mapping not found for " << source2.ToString(); 224 << "Mapping not found for " << source2.ToString();
218 225
219 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(2); 226 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(2);
220 delegate_impl_->RemoveScreenAvailabilityListener( 227 delegate_impl_->RemoveScreenAvailabilityListener(
221 render_process_id, render_frame_id, &listener1); 228 render_process_id, render_frame_id, &listener1);
222 delegate_impl_->RemoveScreenAvailabilityListener( 229 delegate_impl_->RemoveScreenAvailabilityListener(
223 render_process_id, render_frame_id, &listener2); 230 render_process_id, render_frame_id, &listener2);
224 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 231 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
225 render_process_id, render_frame_id, source1.id())); 232 render_process_id, render_frame_id, source1.id()));
226 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 233 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
227 render_process_id, render_frame_id, source2.id())); 234 render_process_id, render_frame_id, source2.id()));
228 } 235 }
229 236
230 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { 237 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) {
231 std::string presentation_url1("http://url1.fakeUrl"); 238 std::string presentation_url1("http://url1.fakeUrl");
232 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); 239 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1));
233 MockScreenAvailabilityListener listener1(presentation_url1); 240 MockScreenAvailabilityListener listener1(presentation_url1);
234 int render_process_id = 1; 241 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame();
235 int render_frame_id = 0; 242 ASSERT_TRUE(main_frame);
243 int render_process_id = main_frame->GetProcess()->GetID();
244 int render_frame_id = main_frame->GetRoutingID();
236 245
237 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true)); 246 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(true));
238 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 247 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
239 render_process_id, render_frame_id, &listener1)); 248 render_process_id, render_frame_id, &listener1));
240 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 249 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
241 render_process_id, render_frame_id, &listener1)); 250 render_process_id, render_frame_id, &listener1));
242 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 251 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
243 render_process_id, render_frame_id, source1.id())); 252 render_process_id, render_frame_id, source1.id()));
244 253
245 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 254 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 connection, callback); 412 connection, callback);
404 } 413 }
405 414
406 TEST_F(PresentationServiceDelegateImplTest, Reset) { 415 TEST_F(PresentationServiceDelegateImplTest, Reset) {
407 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)) 416 EXPECT_CALL(router_, RegisterMediaSinksObserver(_))
408 .WillRepeatedly(Return(true)); 417 .WillRepeatedly(Return(true));
409 418
410 std::string presentation_url1("http://url1.fakeUrl"); 419 std::string presentation_url1("http://url1.fakeUrl");
411 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); 420 MediaSource source = MediaSourceForPresentationUrl(presentation_url1);
412 MockScreenAvailabilityListener listener1(presentation_url1); 421 MockScreenAvailabilityListener listener1(presentation_url1);
413 int render_process_id = 1; 422
414 int render_frame_id = 0; 423 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame();
424 ASSERT_TRUE(main_frame);
425 int render_process_id = main_frame->GetProcess()->GetID();
426 int render_frame_id = main_frame->GetRoutingID();
415 427
416 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( 428 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener(
417 render_process_id, render_frame_id, &listener1)); 429 render_process_id, render_frame_id, &listener1));
418 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( 430 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest(
419 render_process_id, render_frame_id, source.id())); 431 render_process_id, render_frame_id, source.id()));
420 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); 432 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1);
421 delegate_impl_->Reset(render_process_id, render_frame_id); 433 delegate_impl_->Reset(render_process_id, render_frame_id);
422 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( 434 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest(
423 render_process_id, render_frame_id, source.id())); 435 render_process_id, render_frame_id, source.id()));
424 } 436 }
(...skipping 12 matching lines...) Expand all
437 // Removes |delegate_observer2|. 449 // Removes |delegate_observer2|.
438 manager->RemoveObserver(345, 456); 450 manager->RemoveObserver(345, 456);
439 451
440 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); 452 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1);
441 manager.reset(); 453 manager.reset();
442 } 454 }
443 455
444 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { 456 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) {
445 const std::string presentation_url("http://url1.fakeUrl"); 457 const std::string presentation_url("http://url1.fakeUrl");
446 MockScreenAvailabilityListener listener(presentation_url); 458 MockScreenAvailabilityListener listener(presentation_url);
447 const int render_process_id = 10; 459 content::RenderFrameHost* main_frame = GetWebContents()->GetMainFrame();
448 const int render_frame_id = 1; 460 ASSERT_TRUE(main_frame);
461 int render_process_id = main_frame->GetProcess()->GetID();
462 int render_frame_id = main_frame->GetRoutingID();
449 463
450 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false)); 464 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).WillOnce(Return(false));
451 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported()); 465 EXPECT_CALL(listener, OnScreenAvailabilityNotSupported());
452 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( 466 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener(
453 render_process_id, render_frame_id, &listener)); 467 render_process_id, render_frame_id, &listener));
454 } 468 }
455 469
456 } // namespace media_router 470 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/presentation_service_delegate_impl.cc ('k') | chrome/browser/media/router/test_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698