| 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 |