Chromium Code Reviews| Index: content/browser/presentation/presentation_service_impl_unittest.cc |
| diff --git a/content/browser/presentation/presentation_service_impl_unittest.cc b/content/browser/presentation/presentation_service_impl_unittest.cc |
| index be53cdaaeb0b42e35d48bdbb6eb5717b691bd166..cf9aa6ccb02ebdc049bc391d6ce56d24d3ed6041 100644 |
| --- a/content/browser/presentation/presentation_service_impl_unittest.cc |
| +++ b/content/browser/presentation/presentation_service_impl_unittest.cc |
| @@ -41,12 +41,6 @@ MATCHER_P(Equals, expected, "") { |
| const char *const kPresentationId = "presentationId"; |
| const char *const kPresentationUrl = "http://foo.com/index.html"; |
| -bool ArePresentationSessionsEqual( |
| - const presentation::PresentationSessionInfo& expected, |
| - const presentation::PresentationSessionInfo& actual) { |
| - return expected.url == actual.url && expected.id == actual.id; |
| -} |
| - |
| bool ArePresentationSessionMessagesEqual( |
| const presentation::SessionMessage* expected, |
| const presentation::SessionMessage* actual) { |
| @@ -91,26 +85,24 @@ class MockPresentationServiceDelegate : public PresentationServiceDelegate { |
| void( |
| int render_process_id, |
| int routing_id)); |
| - MOCK_METHOD3(SetDefaultPresentationUrl, |
| - void( |
| - int render_process_id, |
| - int routing_id, |
| - const std::string& default_presentation_url)); |
| + MOCK_METHOD4(SetDefaultPresentationUrl, |
| + void(int render_process_id, |
| + int routing_id, |
| + const std::string& default_presentation_url, |
| + const PresentationSessionStartedCallback& callback)); |
| MOCK_METHOD5(StartSession, |
| - void( |
| - int render_process_id, |
| - int render_frame_id, |
| - const std::string& presentation_url, |
| - const PresentationSessionSuccessCallback& success_cb, |
| - const PresentationSessionErrorCallback& error_cb)); |
| + void(int render_process_id, |
| + int render_frame_id, |
| + const std::string& presentation_url, |
| + const PresentationSessionStartedCallback& success_cb, |
| + const PresentationSessionErrorCallback& error_cb)); |
| MOCK_METHOD6(JoinSession, |
| - void( |
| - int render_process_id, |
| - int render_frame_id, |
| - const std::string& presentation_url, |
| - const std::string& presentation_id, |
| - const PresentationSessionSuccessCallback& success_cb, |
| - const PresentationSessionErrorCallback& error_cb)); |
| + void(int render_process_id, |
| + int render_frame_id, |
| + const std::string& presentation_url, |
| + const std::string& presentation_id, |
| + const PresentationSessionStartedCallback& success_cb, |
| + const PresentationSessionErrorCallback& error_cb)); |
| MOCK_METHOD3(CloseSession, |
| void(int render_process_id, |
| int render_frame_id, |
| @@ -172,6 +164,13 @@ class MockPresentationServiceClient : |
| } |
| MOCK_METHOD0(MessagesReceived, void()); |
| + void OnDefaultSessionStarted( |
| + presentation::PresentationSessionInfoPtr session_info) override { |
| + OnDefaultSessionStarted(*session_info); |
| + } |
| + MOCK_METHOD1(OnDefaultSessionStarted, |
| + void(const presentation::PresentationSessionInfo& session_info)); |
| + |
| mojo::Array<presentation::SessionMessagePtr> messages_received_; |
| }; |
| @@ -257,7 +256,6 @@ class PresentationServiceImplTest : public RenderViewHostImplTestHarness { |
| EXPECT_EQ( |
| service_impl_->screen_availability_listeners_.find(kPresentationUrl), |
| service_impl_->screen_availability_listeners_.end()); |
| - EXPECT_FALSE(service_impl_->default_session_start_context_.get()); |
| EXPECT_FALSE(service_impl_->on_session_messages_callback_.get()); |
| } |
| @@ -279,25 +277,6 @@ class PresentationServiceImplTest : public RenderViewHostImplTestHarness { |
| run_loop_quit_closure_.Run(); |
| } |
| - void ExpectDefaultSessionStarted( |
| - const presentation::PresentationSessionInfo& expected_session, |
| - presentation::PresentationSessionInfoPtr actual_session) { |
| - ASSERT_TRUE(!actual_session.is_null()); |
| - EXPECT_TRUE(ArePresentationSessionsEqual( |
| - expected_session, *actual_session)); |
| - ++default_session_started_count_; |
| - if (!run_loop_quit_closure_.is_null()) |
| - run_loop_quit_closure_.Run(); |
| - } |
| - |
| - void ExpectDefaultSessionNull( |
| - presentation::PresentationSessionInfoPtr actual_session) { |
| - EXPECT_TRUE(actual_session.is_null()); |
| - ++default_session_started_count_; |
| - if (!run_loop_quit_closure_.is_null()) |
| - run_loop_quit_closure_.Run(); |
| - } |
| - |
| void ExpectSessionMessages( |
| const mojo::Array<presentation::SessionMessagePtr>& expected_msgs, |
| const mojo::Array<presentation::SessionMessagePtr>& actual_msgs) { |
| @@ -450,24 +429,30 @@ TEST_F(PresentationServiceImplTest, DelegateFails) { |
| TEST_F(PresentationServiceImplTest, SetDefaultPresentationUrl) { |
| std::string url1("http://fooUrl"); |
|
mark a. foltz
2015/11/04 02:07:25
Prefer fully qualified hostnames in test URLs (her
imcheng
2015/11/04 20:35:19
Done.
|
| - EXPECT_CALL(mock_delegate_, |
| - SetDefaultPresentationUrl(_, _, Eq(url1))) |
| + EXPECT_CALL(mock_delegate_, SetDefaultPresentationUrl(_, _, Eq(url1), _)) |
| .Times(1); |
| service_impl_->SetDefaultPresentationURL(url1); |
| EXPECT_EQ(url1, service_impl_->default_presentation_url_); |
| std::string url2("http://barUrl"); |
| // Sets different DPU. |
| - EXPECT_CALL(mock_delegate_, |
| - SetDefaultPresentationUrl(_, _, Eq(url2))) |
| - .Times(1); |
| + content::PresentationSessionStartedCallback callback; |
| + EXPECT_CALL(mock_delegate_, SetDefaultPresentationUrl(_, _, Eq(url2), _)) |
| + .WillOnce(SaveArg<3>(&callback)); |
| service_impl_->SetDefaultPresentationURL(url2); |
| EXPECT_EQ(url2, service_impl_->default_presentation_url_); |
| + |
| + presentation::PresentationSessionInfo session_info; |
| + session_info.url = url2; |
| + session_info.id = kPresentationId; |
| + EXPECT_CALL(mock_client_, OnDefaultSessionStarted(Equals(session_info))) |
| + .Times(1); |
| + callback.Run(content::PresentationSessionInfo(url2, kPresentationId)); |
| } |
| TEST_F(PresentationServiceImplTest, SetSameDefaultPresentationUrl) { |
| EXPECT_CALL(mock_delegate_, |
| - SetDefaultPresentationUrl(_, _, Eq(kPresentationUrl))) |
| + SetDefaultPresentationUrl(_, _, Eq(kPresentationUrl), _)) |
| .Times(1); |
| service_impl_->SetDefaultPresentationURL(kPresentationUrl); |
| EXPECT_TRUE(Mock::VerifyAndClearExpectations(&mock_delegate_)); |
| @@ -592,59 +577,6 @@ TEST_F(PresentationServiceImplTest, StartSessionInProgress) { |
| SaveQuitClosureAndRunLoop(); |
| } |
| -TEST_F(PresentationServiceImplTest, ListenForDefaultSessionStart) { |
| - presentation::PresentationSessionInfo expected_session; |
| - expected_session.url = kPresentationUrl; |
| - expected_session.id = kPresentationId; |
| - service_ptr_->ListenForDefaultSessionStart( |
| - base::Bind(&PresentationServiceImplTest::ExpectDefaultSessionStarted, |
| - base::Unretained(this), |
| - expected_session)); |
| - RunLoopFor(base::TimeDelta::FromMilliseconds(50)); |
| - service_impl_->OnDefaultPresentationStarted( |
| - content::PresentationSessionInfo(kPresentationUrl, kPresentationId)); |
| - SaveQuitClosureAndRunLoop(); |
| - EXPECT_EQ(1, default_session_started_count_); |
| -} |
| - |
| -TEST_F(PresentationServiceImplTest, ListenForDefaultSessionStartAfterSet) { |
| - // Note that the callback will only pick up presentation_url2/id2 since |
| - // ListenForDefaultSessionStart wasn't called yet when the DPU was still |
| - // presentation_url1. |
| - std::string presentation_url1("http://fooUrl1"); |
| - std::string presentation_id1("presentationId1"); |
| - std::string presentation_url2("http://fooUrl2"); |
| - std::string presentation_id2("presentationId2"); |
| - service_impl_->OnDefaultPresentationStarted( |
| - content::PresentationSessionInfo(presentation_url1, presentation_id1)); |
| - |
| - presentation::PresentationSessionInfo expected_session; |
| - expected_session.url = presentation_url2; |
| - expected_session.id = presentation_id2; |
| - service_ptr_->ListenForDefaultSessionStart( |
| - base::Bind(&PresentationServiceImplTest::ExpectDefaultSessionStarted, |
| - base::Unretained(this), |
| - expected_session)); |
| - RunLoopFor(base::TimeDelta::FromMilliseconds(50)); |
| - service_impl_->OnDefaultPresentationStarted( |
| - content::PresentationSessionInfo(presentation_url2, presentation_id2)); |
| - SaveQuitClosureAndRunLoop(); |
| - EXPECT_EQ(1, default_session_started_count_); |
| -} |
| - |
| -TEST_F(PresentationServiceImplTest, DefaultSessionStartReset) { |
| - service_ptr_->ListenForDefaultSessionStart( |
| - base::Bind(&PresentationServiceImplTest::ExpectDefaultSessionNull, |
| - base::Unretained(this))); |
| - RunLoopFor(TestTimeouts::tiny_timeout()); |
| - |
| - ExpectReset(); |
| - service_impl_->Reset(); |
| - ExpectCleanState(); |
| - SaveQuitClosureAndRunLoop(); |
| - EXPECT_EQ(1, default_session_started_count_); |
| -} |
| - |
| TEST_F(PresentationServiceImplTest, SendStringMessage) { |
| std::string message("Test presentation session message"); |