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

Unified Diff: chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc

Issue 2332693003: Show media router toolbar icon ephemerally for active local routes and issues (Closed)
Patch Set: Address Derek's comment Created 4 years, 3 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/ui/toolbar/media_router_contextual_menu_unittest.cc
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc b/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc
index add326148d8fdc0946b0cd0b042734b593e8c412..118c8cb7fbdfdd70bb478daca88e589f76b3a5f1 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc
+++ b/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc
@@ -2,11 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <memory>
+
#include "base/macros.h"
#include "chrome/app/chrome_command_ids.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
+#include "chrome/browser/extensions/extension_action_test_util.h"
#include "chrome/browser/signin/fake_signin_manager_builder.h"
#include "chrome/browser/signin/signin_manager_factory.h"
+#include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
#include "chrome/browser/ui/toolbar/media_router_action.h"
#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
#include "chrome/test/base/browser_with_test_window_test.h"
@@ -18,6 +22,11 @@ class MediaRouterContextualMenuUnitTest : public BrowserWithTestWindowTest {
void SetUp() override {
BrowserWithTestWindowTest::SetUp();
+
+ toolbar_actions_model_ =
+ extensions::extension_action_test_util::CreateToolbarModelForProfile(
+ profile());
+
signin_manager_ =
SigninManagerFactory::GetInstance()->GetForProfile(profile());
browser_action_test_util_.reset(
@@ -35,12 +44,16 @@ class MediaRouterContextualMenuUnitTest : public BrowserWithTestWindowTest {
SigninManagerBase* signin_manager() { return signin_manager_; }
ui::SimpleMenuModel* model() { return model_; }
+ ToolbarActionsModel* toolbar_actions_model() {
+ return toolbar_actions_model_;
+ }
private:
std::unique_ptr<BrowserActionTestUtil> browser_action_test_util_;
std::unique_ptr<MediaRouterAction> action_;
SigninManagerBase* signin_manager_;
ui::SimpleMenuModel* model_;
+ ToolbarActionsModel* toolbar_actions_model_;
DISALLOW_COPY_AND_ASSIGN(MediaRouterContextualMenuUnitTest);
};
@@ -115,3 +128,29 @@ TEST_F(MediaRouterContextualMenuUnitTest, ToggleCloudServicesItem) {
IDC_MEDIA_ROUTER_CLOUD_SERVICES_TOGGLE));
}
#endif // GOOGLE_CHROME_BUILD
+
+TEST_F(MediaRouterContextualMenuUnitTest, ToggleAlwaysShowIconItem) {
+ MediaRouterContextualMenu menu(browser());
+ extensions::ComponentMigrationHelper* const component_migration_helper =
+ toolbar_actions_model()->component_migration_helper();
+
+ // Whether the option is checked should reflect the pref.
+ component_migration_helper->SetComponentActionPref(
+ ComponentToolbarActionsFactory::kMediaRouterActionId, true);
+ EXPECT_TRUE(
+ menu.IsCommandIdChecked(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION));
+
+ component_migration_helper->SetComponentActionPref(
+ ComponentToolbarActionsFactory::kMediaRouterActionId, false);
+ EXPECT_FALSE(
+ menu.IsCommandIdChecked(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION));
+
+ // Executing the option should toggle the pref.
+ menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0);
+ EXPECT_TRUE(component_migration_helper->GetComponentActionPref(
+ ComponentToolbarActionsFactory::kMediaRouterActionId));
+
+ menu.ExecuteCommand(IDC_MEDIA_ROUTER_ALWAYS_SHOW_TOOLBAR_ACTION, 0);
+ EXPECT_FALSE(component_migration_helper->GetComponentActionPref(
+ ComponentToolbarActionsFactory::kMediaRouterActionId));
+}
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_contextual_menu.cc ('k') | chrome/browser/ui/toolbar/toolbar_actions_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698