| Index: chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| index 50d5bc84b79d84c3667510652fff6f7d96cac74d..971a8c8b23446ccdf5a3ea855361e11c91e8c60a 100644
|
| --- a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| +++ b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
|
| @@ -998,16 +998,13 @@ TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesSingleObserver) {
|
|
|
| base::RunLoop run_loop;
|
| MediaRoute::Id expected_route_id("foo");
|
| - interfaces::MediaRouteProvider::ListenForRouteMessagesCallback mojo_callback;
|
| EXPECT_CALL(mock_media_route_provider_,
|
| - ListenForRouteMessages(Eq(expected_route_id), _))
|
| - .WillOnce(DoAll(SaveArg<1>(&mojo_callback),
|
| - InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })));
|
| + StartListeningForRouteMessages(Eq(expected_route_id)))
|
| + .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
|
|
|
| - // |pass_ownership| param is "true" here because there is only one observer.
|
| + // |pass_ownership| param is |true| here because there is only one observer.
|
| ListenForMessagesCallbackHandler handler(std::move(expected_messages), true);
|
|
|
| - EXPECT_CALL(handler, InvokeObserver());
|
| // Creating PresentationSessionMessagesObserver will register itself to the
|
| // MediaRouter, which in turn will start listening for route messages.
|
| std::unique_ptr<PresentationSessionMessagesObserver> observer(
|
| @@ -1017,30 +1014,9 @@ TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesSingleObserver) {
|
| expected_route_id, router()));
|
| run_loop.Run();
|
|
|
| - base::RunLoop run_loop2;
|
| - // Simulate messages by invoking the saved mojo callback.
|
| - // We expect one more ListenForRouteMessages call since |observer| was
|
| - // still registered when the first set of messages arrived.
|
| - mojo_callback.Run(std::move(mojo_messages), false);
|
| - interfaces::MediaRouteProvider::ListenForRouteMessagesCallback
|
| - mojo_callback_2;
|
| - EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _))
|
| - .WillOnce(DoAll(SaveArg<1>(&mojo_callback_2),
|
| - InvokeWithoutArgs([&run_loop2]() { run_loop2.Quit(); })));
|
| - run_loop2.Run();
|
| -
|
| - base::RunLoop run_loop3;
|
| - // Stop listening for messages. In particular, MediaRouterMojoImpl will not
|
| - // call ListenForRouteMessages again when it sees there are no more observers.
|
| - mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1);
|
| - mojo_messages_2[0] = interfaces::RouteMessage::New();
|
| - mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TEXT;
|
| - mojo_messages_2[0]->message = "foo";
|
| - observer.reset();
|
| - mojo_callback_2.Run(std::move(mojo_messages_2), false);
|
| - EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_))
|
| - .WillOnce(InvokeWithoutArgs([&run_loop3]() { run_loop3.Quit(); }));
|
| - run_loop3.Run();
|
| + EXPECT_CALL(handler, InvokeObserver());
|
| + router()->OnRouteMessagesReceived(expected_route_id,
|
| + std::move(mojo_messages));
|
| }
|
|
|
| TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesMultipleObservers) {
|
| @@ -1066,17 +1042,14 @@ TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesMultipleObservers) {
|
|
|
| base::RunLoop run_loop;
|
| MediaRoute::Id expected_route_id("foo");
|
| - interfaces::MediaRouteProvider::ListenForRouteMessagesCallback mojo_callback;
|
| EXPECT_CALL(mock_media_route_provider_,
|
| - ListenForRouteMessages(Eq(expected_route_id), _))
|
| - .WillOnce(DoAll(SaveArg<1>(&mojo_callback),
|
| - InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })));
|
| + StartListeningForRouteMessages(Eq(expected_route_id)))
|
| + .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
|
|
|
| - // |pass_ownership| param is "false" here because there are more than one
|
| + // |pass_ownership| param is |false| here because there are more than one
|
| // observers.
|
| ListenForMessagesCallbackHandler handler(std::move(expected_messages), false);
|
|
|
| - EXPECT_CALL(handler, InvokeObserver()).Times(2);
|
| // Creating PresentationSessionMessagesObserver will register itself to the
|
| // MediaRouter, which in turn will start listening for route messages.
|
| std::unique_ptr<PresentationSessionMessagesObserver> observer1(
|
| @@ -1091,56 +1064,9 @@ TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesMultipleObservers) {
|
| expected_route_id, router()));
|
| run_loop.Run();
|
|
|
| - base::RunLoop run_loop2;
|
| - // Simulate messages by invoking the saved mojo callback.
|
| - // We expect one more ListenForRouteMessages call since |observer| was
|
| - // still registered when the first set of messages arrived.
|
| - mojo_callback.Run(std::move(mojo_messages), false);
|
| - interfaces::MediaRouteProvider::ListenForRouteMessagesCallback
|
| - mojo_callback_2;
|
| - EXPECT_CALL(mock_media_route_provider_, ListenForRouteMessages(_, _))
|
| - .WillOnce(DoAll(SaveArg<1>(&mojo_callback_2),
|
| - InvokeWithoutArgs([&run_loop2]() { run_loop2.Quit(); })));
|
| - run_loop2.Run();
|
| -
|
| - base::RunLoop run_loop3;
|
| - // Stop listening for messages. In particular, MediaRouterMojoImpl will not
|
| - // call ListenForRouteMessages again when it sees there are no more observers.
|
| - mojo::Array<interfaces::RouteMessagePtr> mojo_messages_2(1);
|
| - mojo_messages_2[0] = interfaces::RouteMessage::New();
|
| - mojo_messages_2[0]->type = interfaces::RouteMessage::Type::TEXT;
|
| - mojo_messages_2[0]->message = "foo";
|
| - observer1.reset();
|
| - observer2.reset();
|
| - mojo_callback_2.Run(std::move(mojo_messages_2), false);
|
| - EXPECT_CALL(mock_media_route_provider_, StopListeningForRouteMessages(_))
|
| - .WillOnce(InvokeWithoutArgs([&run_loop3]() { run_loop3.Quit(); }));
|
| - run_loop3.Run();
|
| -}
|
| -
|
| -TEST_F(MediaRouterMojoImplTest, PresentationSessionMessagesError) {
|
| - MediaRoute::Id expected_route_id("foo");
|
| - interfaces::MediaRouteProvider::ListenForRouteMessagesCallback mojo_callback;
|
| - base::RunLoop run_loop;
|
| - EXPECT_CALL(mock_media_route_provider_,
|
| - ListenForRouteMessages(Eq(expected_route_id), _))
|
| - .WillOnce(DoAll(SaveArg<1>(&mojo_callback),
|
| - InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); })));
|
| -
|
| - ListenForMessagesCallbackHandler handler(
|
| - ScopedVector<content::PresentationSessionMessage>(), true);
|
| -
|
| - // Creating PresentationSessionMessagesObserver will register itself to the
|
| - // MediaRouter, which in turn will start listening for route messages.
|
| - std::unique_ptr<PresentationSessionMessagesObserver> observer1(
|
| - new PresentationSessionMessagesObserver(
|
| - base::Bind(&ListenForMessagesCallbackHandler::Invoke,
|
| - base::Unretained(&handler)),
|
| - expected_route_id, router()));
|
| - run_loop.Run();
|
| -
|
| - mojo_callback.Run(mojo::Array<interfaces::RouteMessagePtr>(), true);
|
| - ProcessEventLoop();
|
| + EXPECT_CALL(handler, InvokeObserver()).Times(2);
|
| + router()->OnRouteMessagesReceived(expected_route_id,
|
| + std::move(mojo_messages));
|
| }
|
|
|
| TEST_F(MediaRouterMojoImplTest, PresentationConnectionStateChangedCallback) {
|
|
|