| 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 8887a313f90091bc62474ebf14647ecb78a4eccc..94da762deae1d653be0ad36869c671182e972fa3 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
|
| @@ -84,17 +84,13 @@ const int kInvalidTabId = -1;
|
| const uint8_t kBinaryMessage[] = {0x01, 0x02, 0x03, 0x04};
|
| const int kTimeoutMillis = 5 * 1000;
|
|
|
| -mojom::IssuePtr CreateMojoIssue(const std::string& title) {
|
| - mojom::IssuePtr mojoIssue = mojom::Issue::New();
|
| - mojoIssue->title = title;
|
| - mojoIssue->message = std::string("msg");
|
| - mojoIssue->route_id = std::string();
|
| - mojoIssue->default_action = mojom::Issue::ActionType::DISMISS;
|
| - mojoIssue->secondary_actions = std::vector<mojom::Issue::ActionType>();
|
| - mojoIssue->severity = mojom::Issue::Severity::WARNING;
|
| - mojoIssue->is_blocking = false;
|
| - mojoIssue->help_page_id = -1;
|
| - return mojoIssue;
|
| +IssueInfo CreateIssueInfo(const std::string& title) {
|
| + IssueInfo issue_info;
|
| + issue_info.title = title;
|
| + issue_info.message = std::string("msg");
|
| + issue_info.default_action = IssueInfo::Action::DISMISS;
|
| + issue_info.severity = IssueInfo::Severity::WARNING;
|
| + return issue_info;
|
| }
|
|
|
| mojom::MediaRoutePtr CreateMojoRoute() {
|
| @@ -664,22 +660,26 @@ TEST_F(MediaRouterMojoImplTest, TerminateRouteFails) {
|
| TEST_F(MediaRouterMojoImplTest, HandleIssue) {
|
| MockIssuesObserver issue_observer1(router());
|
| MockIssuesObserver issue_observer2(router());
|
| - issue_observer1.RegisterObserver();
|
| - issue_observer2.RegisterObserver();
|
| + issue_observer1.Init();
|
| + issue_observer2.Init();
|
|
|
| - mojom::IssuePtr mojo_issue1 = CreateMojoIssue("title 1");
|
| - const Issue& expected_issue1 = mojo_issue1.To<Issue>();
|
| + IssueInfo issue = CreateIssueInfo("title 1");
|
| +
|
| + const Issue* issue_from_observer1;
|
| + const Issue* issue_from_observer2;
|
| + EXPECT_CALL(issue_observer1, OnIssueUpdated(_))
|
| + .WillOnce(SaveArg<0>(&issue_from_observer1));
|
| + EXPECT_CALL(issue_observer2, OnIssueUpdated(_))
|
| + .WillOnce(SaveArg<0>(&issue_from_observer2));
|
|
|
| - const Issue* issue;
|
| - EXPECT_CALL(issue_observer1,
|
| - OnIssueUpdated(Pointee(EqualsIssue(expected_issue1))))
|
| - .WillOnce(SaveArg<0>(&issue));
|
| base::RunLoop run_loop;
|
| - EXPECT_CALL(issue_observer2,
|
| - OnIssueUpdated(Pointee(EqualsIssue(expected_issue1))))
|
| - .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
|
| - media_router_proxy_->OnIssue(std::move(mojo_issue1));
|
| - run_loop.Run();
|
| + media_router_proxy_->OnIssue(issue);
|
| + run_loop.RunUntilIdle();
|
| +
|
| + ASSERT_TRUE(issue_from_observer1);
|
| + ASSERT_TRUE(issue_from_observer2);
|
| + ASSERT_EQ(issue_from_observer1, issue_from_observer2);
|
| + EXPECT_EQ(issue, issue_from_observer1->info());
|
|
|
| EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer1));
|
| EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
|
| @@ -687,32 +687,10 @@ TEST_F(MediaRouterMojoImplTest, HandleIssue) {
|
| EXPECT_CALL(issue_observer1, OnIssueUpdated(nullptr));
|
| EXPECT_CALL(issue_observer2, OnIssueUpdated(nullptr));
|
|
|
| - router()->ClearIssue(issue->id());
|
| + router()->ClearIssue(issue_from_observer1->id());
|
|
|
| EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer1));
|
| EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
|
| - router()->UnregisterIssuesObserver(&issue_observer1);
|
| - mojom::IssuePtr mojo_issue2 = CreateMojoIssue("title 2");
|
| - const Issue& expected_issue2 = mojo_issue2.To<Issue>();
|
| -
|
| - EXPECT_CALL(issue_observer2,
|
| - OnIssueUpdated(Pointee(EqualsIssue(expected_issue2))));
|
| - router()->AddIssue(expected_issue2);
|
| - EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
|
| -
|
| - EXPECT_CALL(issue_observer2, OnIssueUpdated(nullptr));
|
| - router()->ClearIssue(issue->id());
|
| - EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
|
| -
|
| - base::RunLoop run_loop2;
|
| - EXPECT_CALL(issue_observer2,
|
| - OnIssueUpdated(Pointee(EqualsIssue(expected_issue2))))
|
| - .WillOnce(InvokeWithoutArgs([&run_loop2]() { run_loop2.Quit(); }));
|
| - media_router_proxy_->OnIssue(std::move(mojo_issue2));
|
| - run_loop2.Run();
|
| -
|
| - issue_observer1.UnregisterObserver();
|
| - issue_observer2.UnregisterObserver();
|
| }
|
|
|
| TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
|
|