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" |
11 #include "chrome/browser/media/router/mock_screen_availability_listener.h" | 11 #include "chrome/browser/media/router/mock_screen_availability_listener.h" |
12 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" | 12 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" |
13 #include "chrome/browser/media/router/test_helper.h" | 13 #include "chrome/browser/media/router/test_helper.h" |
14 #include "chrome/grit/generated_resources.h" | 14 #include "chrome/grit/generated_resources.h" |
15 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 15 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
16 #include "content/public/browser/presentation_screen_availability_listener.h" | 16 #include "content/public/browser/presentation_screen_availability_listener.h" |
17 #include "content/public/browser/presentation_session.h" | 17 #include "content/public/browser/presentation_session.h" |
18 #include "content/public/browser/render_process_host.h" | 18 #include "content/public/browser/render_process_host.h" |
19 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
20 #include "content/public/test/web_contents_tester.h" | 20 #include "content/public/test/web_contents_tester.h" |
21 #include "testing/gmock/include/gmock/gmock.h" | 21 #include "testing/gmock/include/gmock/gmock.h" |
22 #include "ui/base/l10n/l10n_util.h" | 22 #include "ui/base/l10n/l10n_util.h" |
23 | 23 |
24 using ::testing::_; | 24 using ::testing::_; |
25 using ::testing::Mock; | 25 using ::testing::Mock; |
26 using ::testing::Return; | 26 using ::testing::Return; |
27 using ::testing::SaveArg; | |
28 using ::testing::StrictMock; | 27 using ::testing::StrictMock; |
29 | 28 |
30 namespace media_router { | 29 namespace media_router { |
31 | 30 |
32 class MockDelegateObserver | 31 class MockDelegateObserver |
33 : public content::PresentationServiceDelegate::Observer { | 32 : public content::PresentationServiceDelegate::Observer { |
34 public: | 33 public: |
35 MOCK_METHOD0(OnDelegateDestroyed, void()); | 34 MOCK_METHOD0(OnDelegateDestroyed, void()); |
36 MOCK_METHOD1(OnDefaultPresentationStarted, | 35 MOCK_METHOD1(OnDefaultPresentationStarted, |
37 void(const content::PresentationSessionInfo&)); | 36 void(const content::PresentationSessionInfo&)); |
38 }; | 37 }; |
39 | 38 |
40 class MockDefaultPresentationRequestObserver | 39 class MockDefaultMediaSourceObserver |
41 : public PresentationServiceDelegateImpl:: | 40 : public PresentationServiceDelegateImpl::DefaultMediaSourceObserver { |
42 DefaultPresentationRequestObserver { | |
43 public: | 41 public: |
44 MOCK_METHOD1(OnDefaultPresentationChanged, void(const PresentationRequest&)); | 42 MOCK_METHOD2(OnDefaultMediaSourceChanged, |
45 MOCK_METHOD0(OnDefaultPresentationRemoved, void()); | 43 void(const MediaSource&, const GURL&)); |
46 }; | 44 }; |
47 | 45 |
48 class PresentationServiceDelegateImplTest | 46 class PresentationServiceDelegateImplTest |
49 : public ChromeRenderViewHostTestHarness { | 47 : public ChromeRenderViewHostTestHarness { |
50 public: | 48 public: |
51 void SetUp() override { | 49 void SetUp() override { |
52 ChromeRenderViewHostTestHarness::SetUp(); | 50 ChromeRenderViewHostTestHarness::SetUp(); |
53 content::WebContents* wc = web_contents(); | 51 content::WebContents* wc = web_contents(); |
54 ASSERT_TRUE(wc); | 52 ASSERT_TRUE(wc); |
55 PresentationServiceDelegateImpl::CreateForWebContents(wc); | 53 PresentationServiceDelegateImpl::CreateForWebContents(wc); |
56 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); | 54 delegate_impl_ = PresentationServiceDelegateImpl::FromWebContents(wc); |
57 delegate_impl_->SetMediaRouterForTest(&router_); | 55 delegate_impl_->SetMediaRouterForTest(&router_); |
58 } | 56 } |
59 | 57 |
60 MOCK_METHOD1(OnDefaultPresentationStarted, | |
61 void(const content::PresentationSessionInfo& session_info)); | |
62 | |
63 PresentationServiceDelegateImpl* delegate_impl_; | 58 PresentationServiceDelegateImpl* delegate_impl_; |
64 MockMediaRouter router_; | 59 MockMediaRouter router_; |
65 }; | 60 }; |
66 | 61 |
67 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { | 62 TEST_F(PresentationServiceDelegateImplTest, AddScreenAvailabilityListener) { |
68 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); | 63 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
69 | 64 |
70 std::string presentation_url1("http://url1.fakeUrl"); | 65 std::string presentation_url1("http://url1"); |
71 std::string presentation_url2("http://url2.fakeUrl"); | 66 std::string presentation_url2("http://url2"); |
72 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); | 67 MediaSource source1 = MediaSourceForPresentationUrl(presentation_url1); |
73 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); | 68 MediaSource source2 = MediaSourceForPresentationUrl(presentation_url2); |
74 MockScreenAvailabilityListener listener1(presentation_url1); | 69 MockScreenAvailabilityListener listener1(presentation_url1); |
75 MockScreenAvailabilityListener listener2(presentation_url2); | 70 MockScreenAvailabilityListener listener2(presentation_url2); |
76 int render_process_id = 10; | 71 int render_process_id = 10; |
77 int render_frame_id1 = 1; | 72 int render_frame_id1 = 1; |
78 int render_frame_id2 = 2; | 73 int render_frame_id2 = 2; |
79 | 74 |
80 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2); | 75 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(2); |
81 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 76 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
(...skipping 14 matching lines...) Expand all Loading... |
96 render_process_id, render_frame_id2, &listener2); | 91 render_process_id, render_frame_id2, &listener2); |
97 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 92 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
98 render_process_id, render_frame_id1, source1.id())); | 93 render_process_id, render_frame_id1, source1.id())); |
99 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 94 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
100 render_process_id, render_frame_id2, source2.id())); | 95 render_process_id, render_frame_id2, source2.id())); |
101 } | 96 } |
102 | 97 |
103 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { | 98 TEST_F(PresentationServiceDelegateImplTest, AddSameListenerTwice) { |
104 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); | 99 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
105 | 100 |
106 std::string presentation_url1("http://url1.fakeUrl"); | 101 std::string presentation_url1("http://url1"); |
107 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); | 102 MediaSource source1(MediaSourceForPresentationUrl(presentation_url1)); |
108 MockScreenAvailabilityListener listener1(presentation_url1); | 103 MockScreenAvailabilityListener listener1(presentation_url1); |
109 int render_process_id = 1; | 104 int render_process_id = 1; |
110 int render_frame_id = 0; | 105 int render_frame_id = 0; |
111 | 106 |
112 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); | 107 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); |
113 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 108 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
114 render_process_id, render_frame_id, &listener1)); | 109 render_process_id, render_frame_id, &listener1)); |
115 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( | 110 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
116 render_process_id, render_frame_id, &listener1)); | 111 render_process_id, render_frame_id, &listener1)); |
117 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 112 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
118 render_process_id, render_frame_id, source1.id())); | 113 render_process_id, render_frame_id, source1.id())); |
119 | 114 |
120 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); | 115 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); |
121 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id, | 116 delegate_impl_->RemoveScreenAvailabilityListener(render_process_id, |
122 render_frame_id, &listener1); | 117 render_frame_id, &listener1); |
123 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 118 EXPECT_FALSE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
124 render_process_id, render_frame_id, source1.id())); | 119 render_process_id, render_frame_id, source1.id())); |
125 } | 120 } |
126 | 121 |
127 // TODO(imcheng): Add a test to set default presentation URL in a different | |
128 // RenderFrameHost and verify that it works. | |
129 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) { | 122 TEST_F(PresentationServiceDelegateImplTest, SetDefaultPresentationUrl) { |
130 EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest()); | 123 content::WebContentsTester::For(web_contents()) |
131 | 124 ->NavigateAndCommit(GURL("http://www.google.com")); |
132 GURL frame_url("http://www.google.com"); | |
133 content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url); | |
134 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); | 125 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); |
135 ASSERT_TRUE(main_frame); | 126 ASSERT_TRUE(main_frame); |
136 int render_process_id = main_frame->GetProcess()->GetID(); | 127 int render_process_id = main_frame->GetProcess()->GetID(); |
137 int routing_id = main_frame->GetRoutingID(); | 128 int routing_id = main_frame->GetRoutingID(); |
138 | 129 |
139 auto callback = base::Bind( | 130 std::string presentation_url1("http://foo"); |
140 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted, | |
141 base::Unretained(this)); | |
142 std::string presentation_url1("http://foo.fakeUrl"); | |
143 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, | 131 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, |
144 presentation_url1, callback); | 132 presentation_url1); |
145 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); | 133 EXPECT_TRUE(delegate_impl_->default_source().Equals( |
146 PresentationRequest request1 = | 134 MediaSourceForPresentationUrl(presentation_url1))); |
147 delegate_impl_->GetDefaultPresentationRequest(); | 135 |
148 EXPECT_EQ(presentation_url1, request1.presentation_url()); | 136 // Remove default presentation URL. |
149 EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id), | 137 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, ""); |
150 request1.render_frame_host_id()); | 138 EXPECT_TRUE(delegate_impl_->default_source().Empty()); |
151 EXPECT_EQ(frame_url, request1.frame_url()); | |
152 | 139 |
153 // Set to a new default presentation URL | 140 // Set to a new default presentation URL |
154 std::string presentation_url2("https://youtube.com"); | 141 std::string presentation_url2("https://youtube.com"); |
155 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, | 142 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, |
156 presentation_url2, callback); | 143 presentation_url2); |
157 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); | 144 EXPECT_TRUE(delegate_impl_->default_source().Equals( |
158 PresentationRequest request2 = | 145 MediaSourceForPresentationUrl(presentation_url2))); |
159 delegate_impl_->GetDefaultPresentationRequest(); | |
160 EXPECT_EQ(presentation_url2, request2.presentation_url()); | |
161 EXPECT_EQ(RenderFrameHostId(render_process_id, routing_id), | |
162 request2.render_frame_host_id()); | |
163 EXPECT_EQ(frame_url, request2.frame_url()); | |
164 | |
165 // Remove default presentation URL. | |
166 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "", | |
167 callback); | |
168 EXPECT_FALSE(delegate_impl_->HasDefaultPresentationRequest()); | |
169 } | 146 } |
170 | 147 |
171 TEST_F(PresentationServiceDelegateImplTest, DefaultPresentationUrlCallback) { | 148 TEST_F(PresentationServiceDelegateImplTest, DefaultMediaSourceObserver) { |
| 149 content::WebContentsTester::For(web_contents()) |
| 150 ->NavigateAndCommit(GURL("http://www.google.com")); |
172 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); | 151 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); |
173 ASSERT_TRUE(main_frame); | 152 ASSERT_TRUE(main_frame); |
174 int render_process_id = main_frame->GetProcess()->GetID(); | 153 int render_process_id = main_frame->GetProcess()->GetID(); |
175 int routing_id = main_frame->GetRoutingID(); | 154 int routing_id = main_frame->GetRoutingID(); |
| 155 StrictMock<MockDefaultMediaSourceObserver> observer1; |
| 156 StrictMock<MockDefaultMediaSourceObserver> observer2; |
| 157 delegate_impl_->AddDefaultMediaSourceObserver(&observer1); |
| 158 delegate_impl_->AddDefaultMediaSourceObserver(&observer2); |
| 159 std::string url1("http://foo"); |
| 160 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( |
| 161 Equals(MediaSourceForPresentationUrl(url1)), |
| 162 GURL("http://www.google.com"))).Times(1); |
| 163 EXPECT_CALL(observer2, OnDefaultMediaSourceChanged( |
| 164 Equals(MediaSourceForPresentationUrl(url1)), |
| 165 GURL("http://www.google.com"))).Times(1); |
| 166 delegate_impl_->SetDefaultPresentationUrl(render_process_id, |
| 167 routing_id, url1); |
176 | 168 |
177 auto callback = base::Bind( | 169 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); |
178 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted, | 170 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer2)); |
179 base::Unretained(this)); | |
180 std::string presentation_url1("http://foo.fakeUrl"); | |
181 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, | |
182 presentation_url1, callback); | |
183 | 171 |
184 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); | 172 delegate_impl_->RemoveDefaultMediaSourceObserver(&observer2); |
185 PresentationRequest request = delegate_impl_->GetDefaultPresentationRequest(); | 173 std::string url2("http://youtube.com"); |
| 174 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( |
| 175 Equals(MediaSourceForPresentationUrl(url2)), |
| 176 GURL("http://www.google.com"))).Times(1); |
| 177 delegate_impl_->SetDefaultPresentationUrl(render_process_id, |
| 178 routing_id, url2); |
186 | 179 |
187 // Should not trigger callback since route response is error. | 180 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer1)); |
188 delegate_impl_->OnRouteResponse(request, nullptr, "", "Error"); | |
189 EXPECT_TRUE(Mock::VerifyAndClearExpectations(this)); | |
190 | |
191 // Should not trigger callback since request doesn't match. | |
192 std::string presentation_url2("http://bar.fakeUrl"); | |
193 PresentationRequest different_request(RenderFrameHostId(100, 200), | |
194 presentation_url2, | |
195 GURL("http://anotherFrameUrl.fakeUrl")); | |
196 MediaRoute different_route("differentRouteId", | |
197 MediaSourceForPresentationUrl(presentation_url2), | |
198 "mediaSinkId", "", true, "", true); | |
199 delegate_impl_->OnRouteResponse(different_request, &different_route, | |
200 "differentPresentationId", ""); | |
201 EXPECT_TRUE(Mock::VerifyAndClearExpectations(this)); | |
202 | |
203 // Should trigger callback since request matches. | |
204 MediaRoute route("routeId", MediaSourceForPresentationUrl(presentation_url1), | |
205 "mediaSinkId", "", true, "", true); | |
206 EXPECT_CALL(*this, OnDefaultPresentationStarted(_)).Times(1); | |
207 delegate_impl_->OnRouteResponse(request, &route, "presentationId", ""); | |
208 } | |
209 | |
210 TEST_F(PresentationServiceDelegateImplTest, | |
211 DefaultPresentationRequestObserver) { | |
212 auto callback = base::Bind( | |
213 &PresentationServiceDelegateImplTest::OnDefaultPresentationStarted, | |
214 base::Unretained(this)); | |
215 | |
216 StrictMock<MockDefaultPresentationRequestObserver> observer; | |
217 delegate_impl_->AddDefaultPresentationRequestObserver(&observer); | |
218 | |
219 GURL frame_url("http://www.google.com"); | |
220 content::WebContentsTester::For(web_contents())->NavigateAndCommit(frame_url); | |
221 content::RenderFrameHost* main_frame = web_contents()->GetMainFrame(); | |
222 ASSERT_TRUE(main_frame); | |
223 int render_process_id = main_frame->GetProcess()->GetID(); | |
224 int routing_id = main_frame->GetRoutingID(); | |
225 | |
226 std::string url1("http://foo.fakeUrl"); | |
227 PresentationRequest observed_request1( | |
228 RenderFrameHostId(render_process_id, routing_id), url1, frame_url); | |
229 EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request1))) | |
230 .Times(1); | |
231 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url1, | |
232 callback); | |
233 | |
234 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); | |
235 PresentationRequest request1 = | |
236 delegate_impl_->GetDefaultPresentationRequest(); | |
237 EXPECT_TRUE(request1.Equals(observed_request1)); | |
238 | |
239 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer)); | |
240 | |
241 std::string url2("http://youtube.com"); | |
242 PresentationRequest observed_request2( | |
243 RenderFrameHostId(render_process_id, routing_id), url2, frame_url); | |
244 EXPECT_CALL(observer, OnDefaultPresentationChanged(Equals(observed_request2))) | |
245 .Times(1); | |
246 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, url2, | |
247 callback); | |
248 ASSERT_TRUE(delegate_impl_->HasDefaultPresentationRequest()); | |
249 PresentationRequest request2 = | |
250 delegate_impl_->GetDefaultPresentationRequest(); | |
251 EXPECT_TRUE(request2.Equals(observed_request2)); | |
252 | |
253 EXPECT_TRUE(Mock::VerifyAndClearExpectations(&observer)); | |
254 | |
255 // Remove default presentation URL. | 181 // Remove default presentation URL. |
256 EXPECT_CALL(observer, OnDefaultPresentationRemoved()).Times(1); | 182 EXPECT_CALL(observer1, OnDefaultMediaSourceChanged( |
257 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, "", | 183 Equals(MediaSource()), |
258 callback); | 184 GURL("http://www.google.com"))).Times(1); |
| 185 delegate_impl_->SetDefaultPresentationUrl(render_process_id, routing_id, ""); |
259 } | 186 } |
260 | 187 |
261 TEST_F(PresentationServiceDelegateImplTest, Reset) { | 188 TEST_F(PresentationServiceDelegateImplTest, Reset) { |
262 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); | 189 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(true)); |
263 | 190 |
264 std::string presentation_url1("http://url1.fakeUrl"); | 191 std::string presentation_url1("http://url1"); |
265 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); | 192 MediaSource source = MediaSourceForPresentationUrl(presentation_url1); |
266 MockScreenAvailabilityListener listener1(presentation_url1); | 193 MockScreenAvailabilityListener listener1(presentation_url1); |
267 int render_process_id = 1; | 194 int render_process_id = 1; |
268 int render_frame_id = 0; | 195 int render_frame_id = 0; |
269 | 196 |
270 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( | 197 EXPECT_TRUE(delegate_impl_->AddScreenAvailabilityListener( |
271 render_process_id, render_frame_id, &listener1)); | 198 render_process_id, render_frame_id, &listener1)); |
272 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( | 199 EXPECT_TRUE(delegate_impl_->HasScreenAvailabilityListenerForTest( |
273 render_process_id, render_frame_id, source.id())); | 200 render_process_id, render_frame_id, source.id())); |
274 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); | 201 EXPECT_CALL(router_, UnregisterMediaSinksObserver(_)).Times(1); |
(...skipping 16 matching lines...) Expand all Loading... |
291 // Removes |delegate_observer2|. | 218 // Removes |delegate_observer2|. |
292 manager->RemoveObserver(345, 456); | 219 manager->RemoveObserver(345, 456); |
293 | 220 |
294 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); | 221 EXPECT_CALL(delegate_observer1, OnDelegateDestroyed()).Times(1); |
295 manager.reset(); | 222 manager.reset(); |
296 } | 223 } |
297 | 224 |
298 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { | 225 TEST_F(PresentationServiceDelegateImplTest, SinksObserverCantRegister) { |
299 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false)); | 226 ON_CALL(router_, RegisterMediaSinksObserver(_)).WillByDefault(Return(false)); |
300 | 227 |
301 const std::string presentation_url("http://url1.fakeUrl"); | 228 const std::string presentation_url("http://url1"); |
302 MockScreenAvailabilityListener listener(presentation_url); | 229 MockScreenAvailabilityListener listener(presentation_url); |
303 const int render_process_id = 10; | 230 const int render_process_id = 10; |
304 const int render_frame_id = 1; | 231 const int render_frame_id = 1; |
305 | 232 |
306 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); | 233 EXPECT_CALL(router_, RegisterMediaSinksObserver(_)).Times(1); |
307 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( | 234 EXPECT_FALSE(delegate_impl_->AddScreenAvailabilityListener( |
308 render_process_id, render_frame_id, &listener)); | 235 render_process_id, render_frame_id, &listener)); |
309 } | 236 } |
310 | 237 |
311 } // namespace media_router | 238 } // namespace media_router |
OLD | NEW |