OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |