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

Side by Side Diff: chrome/browser/ui/toolbar/media_router_action_unittest.cc

Issue 1495653003: [Media Router] Check MediaRouterDialogControllerImpl only sets toolbar MediaRouterAction. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes per pkasting@'s comments. Fixed OSX segfaults. Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/browser_action_test_util.h"
6 #include "chrome/browser/extensions/extension_action_test_util.h"
5 #include "chrome/browser/ui/browser_commands.h" 7 #include "chrome/browser/ui/browser_commands.h"
6 #include "chrome/browser/ui/tabs/tab_strip_model.h" 8 #include "chrome/browser/ui/tabs/tab_strip_model.h"
7 #include "chrome/browser/ui/toolbar/media_router_action.h" 9 #include "chrome/browser/ui/toolbar/media_router_action.h"
8 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h" 10 #include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
9 #include "chrome/browser/ui/webui/media_router/media_router_dialog_controller_im pl.h" 11 #include "chrome/browser/ui/webui/media_router/media_router_dialog_controller_im pl.h"
10 #include "chrome/browser/ui/webui/media_router/media_router_test.h" 12 #include "chrome/browser/ui/webui/media_router/media_router_test.h"
11 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
12 #include "content/public/browser/site_instance.h" 14 #include "content/public/browser/site_instance.h"
13 #include "content/public/test/test_utils.h" 15 #include "content/public/test/test_utils.h"
14 #include "grit/theme_resources.h" 16 #include "grit/theme_resources.h"
(...skipping 12 matching lines...) Expand all
27 29
28 MOCK_CONST_METHOD0(GetCurrentWebContents, WebContents*()); 30 MOCK_CONST_METHOD0(GetCurrentWebContents, WebContents*());
29 MOCK_METHOD0(UpdateState, void()); 31 MOCK_METHOD0(UpdateState, void());
30 MOCK_CONST_METHOD0(IsMenuRunning, bool()); 32 MOCK_CONST_METHOD0(IsMenuRunning, bool());
31 MOCK_METHOD1(OnPopupShown, void(bool by_user)); 33 MOCK_METHOD1(OnPopupShown, void(bool by_user));
32 MOCK_METHOD0(OnPopupClosed, void()); 34 MOCK_METHOD0(OnPopupClosed, void());
33 }; 35 };
34 36
35 class TestMediaRouterAction : public MediaRouterAction { 37 class TestMediaRouterAction : public MediaRouterAction {
36 public: 38 public:
37 explicit TestMediaRouterAction(Browser* browser) 39 TestMediaRouterAction(Browser* browser,
38 : MediaRouterAction(browser), 40 ToolbarActionsBar* toolbar_actions_bar)
41 : MediaRouterAction(browser, toolbar_actions_bar),
39 controller_(nullptr), 42 controller_(nullptr),
40 platform_delegate_(nullptr) {} 43 platform_delegate_(nullptr) {}
41 ~TestMediaRouterAction() override {} 44 ~TestMediaRouterAction() override {}
42 45
43 void SetMediaRouterDialogController( 46 void SetMediaRouterDialogController(
44 MediaRouterDialogControllerImpl* controller) { 47 MediaRouterDialogControllerImpl* controller) {
45 DCHECK(controller); 48 DCHECK(controller);
46 controller_ = controller; 49 controller_ = controller;
47 } 50 }
48 51
49 private: 52 private:
50 MediaRouterDialogControllerImpl* GetMediaRouterDialogController() 53 MediaRouterDialogControllerImpl* GetMediaRouterDialogController()
51 override { 54 override {
52 return controller_; 55 return controller_;
53 } 56 }
54 57
55 MediaRouterActionPlatformDelegate* GetPlatformDelegate() override { 58 MediaRouterActionPlatformDelegate* GetPlatformDelegate() override {
56 return platform_delegate_; 59 return platform_delegate_;
57 } 60 }
58 61
59 MediaRouterDialogControllerImpl* controller_; 62 MediaRouterDialogControllerImpl* controller_;
60 MediaRouterActionPlatformDelegate* platform_delegate_; 63 MediaRouterActionPlatformDelegate* platform_delegate_;
61 }; 64 };
62 65
63 class MediaRouterActionUnitTest : public MediaRouterTest { 66 class MediaRouterActionUnitTest : public MediaRouterTest {
64 public: 67 public:
65 MediaRouterActionUnitTest() 68 MediaRouterActionUnitTest()
66 : fake_issue_notification_(media_router::Issue( 69 : toolbar_model_(nullptr),
70 fake_issue_notification_(media_router::Issue(
67 "title notification", 71 "title notification",
68 "message notification", 72 "message notification",
69 media_router::IssueAction(media_router::IssueAction::TYPE_DISMISS), 73 media_router::IssueAction(media_router::IssueAction::TYPE_DISMISS),
70 std::vector<media_router::IssueAction>(), 74 std::vector<media_router::IssueAction>(),
71 "route_id", 75 "route_id",
72 media_router::Issue::NOTIFICATION, 76 media_router::Issue::NOTIFICATION,
73 false, 77 false,
74 std::string())), 78 std::string())),
75 fake_issue_warning_( 79 fake_issue_warning_(
76 media_router::Issue("title warning", 80 media_router::Issue("title warning",
(...skipping 23 matching lines...) Expand all
100 idle_icon_(ui::ResourceBundle::GetSharedInstance().GetImageNamed( 104 idle_icon_(ui::ResourceBundle::GetSharedInstance().GetImageNamed(
101 IDR_MEDIA_ROUTER_IDLE_ICON)), 105 IDR_MEDIA_ROUTER_IDLE_ICON)),
102 warning_icon_(ui::ResourceBundle::GetSharedInstance().GetImageNamed( 106 warning_icon_(ui::ResourceBundle::GetSharedInstance().GetImageNamed(
103 IDR_MEDIA_ROUTER_WARNING_ICON)) {} 107 IDR_MEDIA_ROUTER_WARNING_ICON)) {}
104 108
105 ~MediaRouterActionUnitTest() override {} 109 ~MediaRouterActionUnitTest() override {}
106 110
107 // MediaRouterTest: 111 // MediaRouterTest:
108 void SetUp() override { 112 void SetUp() override {
109 MediaRouterTest::SetUp(); 113 MediaRouterTest::SetUp();
110 action_.reset(new TestMediaRouterAction(browser())); 114 toolbar_model_ = extensions::extension_action_test_util::
115 CreateToolbarModelForProfileWithoutWaitingForReady(profile());
116
117 // browser() will only be valid once BrowserWithTestWindowTest::SetUp()
118 // has run.
119 browser_action_test_util_.reset(
120 new BrowserActionTestUtil(browser(), false));
121 action_.reset(
122 new TestMediaRouterAction(
123 browser(),
124 browser_action_test_util_->GetToolbarActionsBar()));
111 } 125 }
112 126
113 void TearDown() override { 127 void TearDown() override {
128 browser_action_test_util_.reset();
114 action_.reset(); 129 action_.reset();
115 MediaRouterTest::TearDown(); 130 MediaRouterTest::TearDown();
116 } 131 }
117 132
118 TestMediaRouterAction* action() { return action_.get(); } 133 TestMediaRouterAction* action() { return action_.get(); }
119 const media_router::Issue* fake_issue_notification() { 134 const media_router::Issue* fake_issue_notification() {
120 return &fake_issue_notification_; 135 return &fake_issue_notification_;
121 } 136 }
122 const media_router::Issue* fake_issue_warning() { 137 const media_router::Issue* fake_issue_warning() {
123 return &fake_issue_warning_; 138 return &fake_issue_warning_;
124 } 139 }
125 const media_router::Issue* fake_issue_fatal() { 140 const media_router::Issue* fake_issue_fatal() {
126 return &fake_issue_fatal_; 141 return &fake_issue_fatal_;
127 } 142 }
128 const gfx::Image active_icon() { return active_icon_; } 143 const gfx::Image active_icon() { return active_icon_; }
129 const gfx::Image error_icon() { return error_icon_; } 144 const gfx::Image error_icon() { return error_icon_; }
130 const gfx::Image idle_icon() { return idle_icon_; } 145 const gfx::Image idle_icon() { return idle_icon_; }
131 const gfx::Image warning_icon() { return warning_icon_; } 146 const gfx::Image warning_icon() { return warning_icon_; }
132 147
133 private: 148 private:
149 // A BrowserActionTestUtil object constructed with the associated
150 // ToolbarActionsBar.
151 scoped_ptr<BrowserActionTestUtil> browser_action_test_util_;
152
134 scoped_ptr<TestMediaRouterAction> action_; 153 scoped_ptr<TestMediaRouterAction> action_;
135 154
155 // The associated ToolbarActionsModel (owned by the keyed service setup).
156 ToolbarActionsModel* toolbar_model_;
157
136 // Fake Issues. 158 // Fake Issues.
137 const media_router::Issue fake_issue_notification_; 159 const media_router::Issue fake_issue_notification_;
138 const media_router::Issue fake_issue_warning_; 160 const media_router::Issue fake_issue_warning_;
139 const media_router::Issue fake_issue_fatal_; 161 const media_router::Issue fake_issue_fatal_;
140 162
141 // Fake Sources, used for the Routes. 163 // Fake Sources, used for the Routes.
142 const media_router::MediaSource fake_source1_; 164 const media_router::MediaSource fake_source1_;
143 const media_router::MediaSource fake_source2_; 165 const media_router::MediaSource fake_source2_;
144 166
145 // Cached images. 167 // Cached images.
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 314
293 EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1); 315 EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1);
294 dialog_controller_->HideMediaRouterDialog(); 316 dialog_controller_->HideMediaRouterDialog();
295 317
296 EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1); 318 EXPECT_CALL(*mock_delegate, OnPopupShown(true)).Times(1);
297 dialog_controller_->CreateMediaRouterDialog(); 319 dialog_controller_->CreateMediaRouterDialog();
298 320
299 EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1); 321 EXPECT_CALL(*mock_delegate, OnPopupClosed()).Times(1);
300 dialog_controller_->HideMediaRouterDialog(); 322 dialog_controller_->HideMediaRouterDialog();
301 } 323 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_action.cc ('k') | chrome/browser/ui/toolbar/mock_component_toolbar_actions_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698