Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2224)

Unified Diff: chrome/browser/media/router/media_router_mojo_impl_unittest.cc

Issue 1259333004: [MediaRouter]Wires up issue manager in MediaRouterMojoImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..5af3a1a8a49d67e63d346f4c24946f3d8037a592 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() {
+ 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,26 @@ TEST_F(MediaRouterMojoImplTest, CloseRoute) {
ProcessEventLoop();
}
+TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterIssuesObserver) {
Kevin M 2015/07/29 17:41:49 This is testing more than just registration/unregi
haibinlu 2015/07/29 18:46:07 Changed name to 'HandleIssue'
+ MockIssuesObserver issue_observer1(router());
Kevin M 2015/07/29 17:41:49 Add an IssueManager mock
haibinlu 2015/07/29 18:46:07 In order to make the mock, we need to mark IssueMa
+ MockIssuesObserver issue_observer2(router());
+ const Issue* issue;
+ EXPECT_CALL(issue_observer1, OnIssueUpdated(_))
+ .WillRepeatedly(SaveArg<0>(&issue));
Kevin M 2015/07/29 17:41:49 Be explicit with the # of Times()
haibinlu 2015/07/29 18:46:07 Done.
+ EXPECT_CALL(issue_observer2, OnIssueUpdated(_));
+ media_router_proxy_->OnIssue(CreateMojoIssue().Pass());
+ ProcessEventLoop();
+
+ EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer1));
+ EXPECT_TRUE(Mock::VerifyAndClearExpectations(&issue_observer2));
+
+ router()->ClearIssue(issue->id());
+ router()->UnregisterIssuesObserver(&issue_observer1);
+ EXPECT_CALL(issue_observer2, OnIssueUpdated(_));
+ media_router_proxy_->OnIssue(CreateMojoIssue().Pass());
+ ProcessEventLoop();
+}
+
TEST_F(MediaRouterMojoImplTest, RegisterAndUnregisterMediaSinksObserver) {
MediaSource media_source(kSource);

Powered by Google App Engine
This is Rietveld 408576698