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 <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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 PresentationServiceDelegateImpl::CreateForWebContents(wc); | 53 PresentationServiceDelegateImpl::CreateForWebContents(wc); |
54 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); | 54 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); |
55 delegate_impl_->SetMediaRouterForTest(&router_); | 55 delegate_impl_->SetMediaRouterForTest(&router_); |
56 } | 56 } |
57 | 57 |
58 PresentationServiceDelegateImpl* delegate_impl_; | 58 PresentationServiceDelegateImpl* delegate_impl_; |
59 MockMediaRouter router_; | 59 MockMediaRouter router_; |
60 }; | 60 }; |
61 | 61 |
62 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { | 62 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { |
| 63 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
| 64 |
63 std::string presentation_url1("http://url1"); | 65 std::string presentation_url1("http://url1"); |
64 std::string presentation_url2("http://url2"); | 66 std::string presentation_url2("http://url2"); |
65 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); | 67 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); |
66 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); | 68 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); |
67 MockScreenAvailabilityListener listener1(presentation_url1); | 69 MockScreenAvailabilityListener listener1(presentation_url1); |
68 MockScreenAvailabilityListener listener2(presentation_url2); | 70 MockScreenAvailabilityListener listener2(presentation_url2); |
69 int render_process_id = 10; | 71 int render_process_id = 10; |
70 int render_frame_id1 = 1; | 72 int render_frame_id1 = 1; |
71 int render_frame_id2 = 2; | 73 int render_frame_id2 = 2; |
72 | 74 |
(...skipping 14 matching lines...) Expand all Loading... |
87 render_process_id, render_frame_id1, &listener1); | 89 render_process_id, render_frame_id1, &listener1); |
88 delegate_impl_->RemoveScreenAvailabilityListener( | 90 delegate_impl_->RemoveScreenAvailabilityListener( |
89 render_process_id, render_frame_id2, &listener2); | 91 render_process_id, render_frame_id2, &listener2); |
90 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 92 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
91 render_process_id, render_frame_id1, source1.id())); | 93 render_process_id, render_frame_id1, source1.id())); |
92 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 94 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
93 render_process_id, render_frame_id2, source2.id())); | 95 render_process_id, render_frame_id2, source2.id())); |
94 } | 96 } |
95 | 97 |
96 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { | 98 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { |
| 99 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
| 100 |
97 std::string presentation_url1("http://url1"); | 101 std::string presentation_url1("http://url1"); |
98 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); | 102 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); |
99 MockScreenAvailabilityListener listener1(presentation_url1); | 103 MockScreenAvailabilityListener listener1(presentation_url1); |
100 int render_process_id = 1; | 104 int render_process_id = 1; |
101 int render_frame_id = 0; | 105 int render_frame_id = 0; |
102 | 106 |
103 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); | 107 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); |
104 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 108 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
105 render_process_id, render_frame_id, &listener1)); | 109 render_process_id, render_frame_id, &listener1)); |
106 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( | 110 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 179 |
176 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); | 180 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); |
177 // Remove default presentation URL. | 181 // Remove default presentation URL. |
178 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( | 182 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( |
179 Equals(MediaSource()), | 183 Equals(MediaSource()), |
180 GURL("http://www.google.com"))).Times(1); | 184 GURL("http://www.google.com"))).Times(1); |
181 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, ""); | 185 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, ""); |
182 } | 186 } |
183 | 187 |
184 TEST_F(PresentationServiceDelegateImplTest, Reset) { | 188 TEST_F(PresentationServiceDelegateImplTest, Reset) { |
| 189 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
| 190 |
185 std::string presentation_url1("http://url1"); | 191 std::string presentation_url1("http://url1"); |
186 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); | 192 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); |
187 MockScreenAvailabilityListener listener1(presentation_url1); | 193 MockScreenAvailabilityListener listener1(presentation_url1); |
188 int render_process_id = 1; | 194 int render_process_id = 1; |
189 int render_frame_id = 0; | 195 int render_frame_id = 0; |
190 | 196 |
191 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 197 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
192 render_process_id, render_frame_id, &listener1)); | 198 render_process_id, render_frame_id, &listener1)); |
193 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 199 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
194 render_process_id, render_frame_id, source.id())); | 200 render_process_id, render_frame_id, source.id())); |
(...skipping 14 matching lines...) Expand all Loading... |
209 manager->AddObserver(123, 234, &delegate_observer1); | 215 manager->AddObserver(123, 234, &delegate_observer1); |
210 manager->AddObserver(345, 456, &delegate_observer2); | 216 manager->AddObserver(345, 456, &delegate_observer2); |
211 | 217 |
212 // Removes |delegate_observer2|. | 218 // Removes |delegate_observer2|. |
213 manager->RemoveObserver(345, 456); | 219 manager->RemoveObserver(345, 456); |
214 | 220 |
215 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); | 221 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); |
216 manager.reset(); | 222 manager.reset(); |
217 } | 223 } |
218 | 224 |
| 225 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { |
| 226 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false)); |
| 227 |
| 228 const std::string presentation_url("http://url1"); |
| 229 MockScreenAvailabilityListener listener(presentation_url); |
| 230 const int render_process_id = 10; |
| 231 const int render_frame_id = 1; |
| 232 |
| 233 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); |
| 234 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
| 235 render_process_id, render_frame_id, &listener)); |
| 236 } |
| 237 |
219 } // namespace media_router | 238 } // namespace media_router |
OLD | NEW |