| Index: chrome/browser/media/router/media_router_mojo_impl_unittest.cc
|
| diff --git a/chrome/browser/media/router/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
|
| index eb51e8381ce3cae9bd6bd39bfe552bdea9c72c9d..efaadfd2b515fc4c29612e6b301e1691b05bfef5 100644
|
| --- a/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
|
| +++ b/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
|
| @@ -9,8 +9,10 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/run_loop.h"
|
| #include "base/synchronization/waitable_event.h"
|
| +#include "chrome/browser/media/router/issue.h"
|
| #include "chrome/browser/media/router/media_route.h"
|
| #include "chrome/browser/media/router/media_router_mojo_test.h"
|
| +#include "chrome/browser/media/router/media_router_type_converters.h"
|
| #include "chrome/browser/media/router/mock_media_router.h"
|
| #include "chrome/browser/media/router/test_helper.h"
|
| #include "chrome/test/base/chrome_render_view_host_test_harness.h"
|
| @@ -25,6 +27,7 @@
|
| using testing::_;
|
| using testing::Eq;
|
| using testing::Invoke;
|
| +using testing::Mock;
|
| using testing::Pointee;
|
| using testing::Return;
|
| using testing::ReturnRef;
|
| @@ -61,6 +64,20 @@ bool ArePresentationSessionMessagesEqual(
|
| : *(expected->message) == *(actual->message);
|
| }
|
|
|
| +interfaces::IssuePtr CreateMojoIssue(const std::string& title) {
|
| + interfaces::IssuePtr mojoIssue = interfaces::Issue::New();
|
| + mojoIssue->title = title;
|
| + mojoIssue->message = "msg";
|
| + mojoIssue->route_id = "";
|
| + mojoIssue->default_action = interfaces::Issue::ActionType::ACTION_TYPE_OK;
|
| + mojoIssue->secondary_actions =
|
| + mojo::Array<interfaces::Issue::ActionType>::New(0);
|
| + mojoIssue->severity = interfaces::Issue::Severity::SEVERITY_WARNING;
|
| + mojoIssue->is_blocking = false;
|
| + mojoIssue->help_url = "";
|
| + return mojoIssue.Pass();
|
| +}
|
| +
|
| } // namespace
|
|
|
| class RouteResponseCallbackHandler {
|
| @@ -258,6 +275,35 @@ TEST_F(MediaRouterMojoImplTest, CloseRoute) {
|
| ProcessEventLoop();
|
| }
|
|
|
| +TEST_F(MediaRouterMojoImplTest, HandleIssue) {
|
| + MockIssuesObserver issue_observer1(router());
|
| + MockIssuesObserver issue_observer2(router());
|
| + interfaces::IssuePtr mojo_issue1 = CreateMojoIssue("title 1");
|
| + const Issue& expected_issue1 = mojo_issue1.To<Issue>();
|
| +
|
| + const Issue* issue;
|
| + EXPECT_CALL(issue_observer1,
|
| + OnIssueUpdated(Pointee(EqualsIssue(expected_issue1))))
|
| + .WillOnce(SaveArg<0>(&issue));
|
| + EXPECT_CALL(issue_observer2,
|
| + OnIssueUpdated(Pointee(EqualsIssue(expected_issue1))));
|
| + media_router_proxy_->OnIssue(mojo_issue1.Pass());
|
| + ProcessEventLoop();
|
| +
|
| + EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer1));
|
| + EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
|
| +
|
| + router()->ClearIssue(issue->id());
|
| + router()->UnregisterIssuesObserver(&issue_observer1);
|
| + interfaces::IssuePtr mojo_issue2 = CreateMojoIssue("title 2");
|
| + const Issue& expected_issue2 = mojo_issue2.To<Issue>();
|
| +
|
| + EXPECT_CALL(issue_observer2,
|
| + OnIssueUpdated(Pointee(EqualsIssue(expected_issue2))));
|
| + media_router_proxy_->OnIssue(mojo_issue2.Pass());
|
| + ProcessEventLoop();
|
| +}
|
| +
|
| TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
|
| MediaSource media_source(kSource);
|
|
|
|
|