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

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

Issue 2559323002: Add a policy to always show the Cast toolbar icon (Closed)
Patch Set: Rebase Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_contextual_menu.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "chrome/app/chrome_command_ids.h" 8 #include "chrome/app/chrome_command_ids.h"
9 #include "chrome/browser/extensions/browser_action_test_util.h" 9 #include "chrome/browser/extensions/browser_action_test_util.h"
10 #include "chrome/browser/extensions/extension_action_test_util.h" 10 #include "chrome/browser/extensions/extension_action_test_util.h"
11 #include "chrome/browser/signin/fake_signin_manager_builder.h" 11 #include "chrome/browser/signin/fake_signin_manager_builder.h"
12 #include "chrome/browser/signin/signin_manager_factory.h" 12 #include "chrome/browser/signin/signin_manager_factory.h"
13 #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h" 13 #include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
14 #include "chrome/browser/ui/toolbar/media_router_action.h" 14 #include "chrome/browser/ui/toolbar/media_router_action.h"
15 #include "chrome/browser/ui/toolbar/media_router_contextual_menu.h" 15 #include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
16 #include "chrome/test/base/browser_with_test_window_test.h" 16 #include "chrome/test/base/browser_with_test_window_test.h"
17 17
18 namespace {
19
20 bool HasCommandId(ui::MenuModel* menu_model, int command_id) {
21 for (int i = 0; i < menu_model->GetItemCount(); i++) {
22 if (menu_model->GetCommandIdAt(i) == command_id)
23 return true;
24 }
25 return false;
26 }
27
28 } // namespace
29
18 class MediaRouterContextualMenuUnitTest : public BrowserWithTestWindowTest { 30 class MediaRouterContextualMenuUnitTest : public BrowserWithTestWindowTest {
19 public: 31 public:
20 MediaRouterContextualMenuUnitTest() {} 32 MediaRouterContextualMenuUnitTest() {}
21 ~MediaRouterContextualMenuUnitTest() override {} 33 ~MediaRouterContextualMenuUnitTest() override {}
22 34
23 void SetUp() override { 35 void SetUp() override {
24 BrowserWithTestWindowTest::SetUp(); 36 BrowserWithTestWindowTest::SetUp();
25 37
26 toolbar_actions_model_ = 38 toolbar_actions_model_ =
27 extensions::extension_action_test_util::CreateToolbarModelForProfile( 39 extensions::extension_action_test_util::CreateToolbarModelForProfile(
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 155
144 // Executing the option should toggle the pref. 156 // Executing the option should toggle the pref.
145 menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0); 157 menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0);
146 EXPECT_TRUE(component_migration_helper->GetComponentActionPref( 158 EXPECT_TRUE(component_migration_helper->GetComponentActionPref(
147 ComponentToolbarActionsFactory::kMediaRouterActionId)); 159 ComponentToolbarActionsFactory::kMediaRouterActionId));
148 160
149 menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0); 161 menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0);
150 EXPECT_FALSE(component_migration_helper->GetComponentActionPref( 162 EXPECT_FALSE(component_migration_helper->GetComponentActionPref(
151 ComponentToolbarActionsFactory::kMediaRouterActionId)); 163 ComponentToolbarActionsFactory::kMediaRouterActionId));
152 } 164 }
165
166 TEST_F(MediaRouterContextualMenuUnitTest, ActionShownByPolicy) {
167 // Create a contextual menu for an icon shown by administrator policy.
168 MediaRouterContextualMenu menu(browser(), true);
169
170 // The item "Added by your administrator" should be shown disabled.
171 EXPECT_TRUE(menu.IsCommandIdVisible(IDC_MEDIA_ROUTER_SHOWN_BY_POLICY));
172 EXPECT_FALSE(menu.IsCommandIdEnabled(IDC_MEDIA_ROUTER_SHOWN_BY_POLICY));
173
174 // The checkbox item "Always show icon" should not be shown.
175 EXPECT_FALSE(HasCommandId(menu.menu_model(),
176 IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION));
177 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_contextual_menu.cc ('k') | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698