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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 class RouteResponseCallbackHandler { | 53 class RouteResponseCallbackHandler { |
54 public: | 54 public: |
55 void Invoke(scoped_ptr<MediaRoute> route, const std::string& error_text) { | 55 void Invoke(scoped_ptr<MediaRoute> route, const std::string& error_text) { |
56 InvokeObserver(route.get(), error_text); | 56 InvokeObserver(route.get(), error_text); |
57 } | 57 } |
58 | 58 |
59 MOCK_METHOD2(InvokeObserver, | 59 MOCK_METHOD2(InvokeObserver, |
60 void(MediaRoute* route, const std::string& error_text)); | 60 void(MediaRoute* route, const std::string& error_text)); |
61 }; | 61 }; |
62 | 62 |
| 63 class SendMessageCallbackHandler { |
| 64 public: |
| 65 MOCK_METHOD1(Invoke, void(bool)); |
| 66 }; |
| 67 |
63 template <typename T> | 68 template <typename T> |
64 void StoreAndRun(T* result, const base::Closure& closure, const T& result_val) { | 69 void StoreAndRun(T* result, const base::Closure& closure, const T& result_val) { |
65 *result = result_val; | 70 *result = result_val; |
66 closure.Run(); | 71 closure.Run(); |
67 } | 72 } |
68 | 73 |
69 class MediaRouterMojoImplTest : public MediaRouterMojoTest { | 74 class MediaRouterMojoImplTest : public MediaRouterMojoTest { |
70 public: | 75 public: |
71 MediaRouterMojoImplTest() {} | 76 MediaRouterMojoImplTest() {} |
72 ~MediaRouterMojoImplTest() override {} | 77 ~MediaRouterMojoImplTest() override {} |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 | 271 |
267 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(&routes_observer)); | 272 EXPECT_CALL(mock_router, UnregisterMediaRoutesObserver(&routes_observer)); |
268 EXPECT_CALL(mock_router, | 273 EXPECT_CALL(mock_router, |
269 UnregisterMediaRoutesObserver(&extra_routes_observer)); | 274 UnregisterMediaRoutesObserver(&extra_routes_observer)); |
270 router()->UnregisterMediaRoutesObserver(&routes_observer); | 275 router()->UnregisterMediaRoutesObserver(&routes_observer); |
271 router()->UnregisterMediaRoutesObserver(&extra_routes_observer); | 276 router()->UnregisterMediaRoutesObserver(&extra_routes_observer); |
272 EXPECT_CALL(mock_mojo_media_router_service_, StopObservingMediaRoutes()); | 277 EXPECT_CALL(mock_mojo_media_router_service_, StopObservingMediaRoutes()); |
273 ProcessEventLoop(); | 278 ProcessEventLoop(); |
274 } | 279 } |
275 | 280 |
276 TEST_F(MediaRouterMojoImplTest, PostMessage) { | 281 TEST_F(MediaRouterMojoImplTest, SendRouteMessage) { |
277 EXPECT_CALL(mock_mojo_media_router_service_, | 282 EXPECT_CALL( |
278 PostMessage(mojo::String(kRouteId), mojo::String(kMessage))); | 283 mock_mojo_media_router_service_, |
279 router()->PostMessage(kRouteId, kMessage); | 284 SendRouteMessage(mojo::String(kRouteId), mojo::String(kMessage), _)) |
| 285 .WillOnce(Invoke( |
| 286 [](const MediaRoute::Id& route_id, const std::string& message, |
| 287 const interfaces::MediaRouter::SendRouteMessageCallback& cb) { |
| 288 cb.Run(true); |
| 289 })); |
| 290 |
| 291 SendMessageCallbackHandler handler; |
| 292 EXPECT_CALL(handler, Invoke(true)); |
| 293 router()->SendRouteMessage(kRouteId, kMessage, |
| 294 base::Bind(&SendMessageCallbackHandler::Invoke, |
| 295 base::Unretained(&handler))); |
280 ProcessEventLoop(); | 296 ProcessEventLoop(); |
281 } | 297 } |
282 | 298 |
283 TEST_F(MediaRouterMojoImplTest, QueuedWhileAsleep) { | 299 TEST_F(MediaRouterMojoImplTest, QueuedWhileAsleep) { |
284 EXPECT_CALL(mock_event_page_tracker_, IsEventPageSuspended(extension_id())) | 300 EXPECT_CALL(mock_event_page_tracker_, IsEventPageSuspended(extension_id())) |
285 .Times(2) | 301 .Times(2) |
286 .WillRepeatedly(Return(true)); | 302 .WillRepeatedly(Return(true)); |
287 EXPECT_CALL(mock_event_page_tracker_, WakeEventPage(extension_id(), _)) | 303 EXPECT_CALL(mock_event_page_tracker_, WakeEventPage(extension_id(), _)) |
288 .Times(2) | 304 .Times(2) |
289 .WillRepeatedly(Return(true)); | 305 .WillRepeatedly(Return(true)); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 CloseRoute(mojo::String(kRouteId2))); | 387 CloseRoute(mojo::String(kRouteId2))); |
372 binding.reset(new mojo::Binding<interfaces::MediaRouter>( | 388 binding.reset(new mojo::Binding<interfaces::MediaRouter>( |
373 &mock_mojo_media_router_service, mojo::GetProxy(&mojo_media_router))); | 389 &mock_mojo_media_router_service, mojo::GetProxy(&mojo_media_router))); |
374 mojo_media_router_observer->ProvideMediaRouter( | 390 mojo_media_router_observer->ProvideMediaRouter( |
375 mojo_media_router.Pass(), base::Bind(&ProvideMediaRouterHandler::Invoke, | 391 mojo_media_router.Pass(), base::Bind(&ProvideMediaRouterHandler::Invoke, |
376 base::Unretained(&provide_handler))); | 392 base::Unretained(&provide_handler))); |
377 message_loop.RunUntilIdle(); | 393 message_loop.RunUntilIdle(); |
378 } | 394 } |
379 | 395 |
380 } // namespace media_router | 396 } // namespace media_router |
OLD | NEW |