Commit 0056710e authored by Bret Sepulveda's avatar Bret Sepulveda Committed by Commit Bot

Add new test ExtensionsMenuViewUnitTest.PinnedExtensionRemovedWhenDisabled.

This patch disables ExtensionsToolbarMenu when running the suite
BrowserActionsBarBrowserTest, as it mostly relies on behavior specific
to ToolbarActionsBar, and adds a new test to ensure coverage of
equivalent behavior in ExtensionsToolbarContainer.

Bug: 984654
Change-Id: Iac774cc9df2da163c9a066b01bed297fa21c197b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1980734
Auto-Submit: Bret Sepulveda <bsep@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727175}
parent 439dbad9
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h" #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h" #include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
#include "chrome/browser/ui/toolbar/toolbar_actions_model.h" #include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chrome/test/base/ui_test_utils.h" #include "chrome/test/base/ui_test_utils.h"
#include "components/crx_file/id_util.h" #include "components/crx_file/id_util.h"
...@@ -89,6 +90,9 @@ class BlockedActionWaiter ...@@ -89,6 +90,9 @@ class BlockedActionWaiter
BrowserActionsBarBrowserTest::BrowserActionsBarBrowserTest() BrowserActionsBarBrowserTest::BrowserActionsBarBrowserTest()
: toolbar_model_(nullptr) { : toolbar_model_(nullptr) {
// This suite relies on behavior specific to ToolbarActionsBar. See
// ExtensionsMenuViewBrowserTest and ExtensionsMenuViewUnitTest for new tests.
feature_list_.InitAndDisableFeature(features::kExtensionsToolbarMenu);
} }
BrowserActionsBarBrowserTest::~BrowserActionsBarBrowserTest() { BrowserActionsBarBrowserTest::~BrowserActionsBarBrowserTest() {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/extensions/extension_browsertest.h" #include "chrome/browser/extensions/extension_browsertest.h"
namespace extensions { namespace extensions {
...@@ -49,6 +50,8 @@ class BrowserActionsBarBrowserTest : public extensions::ExtensionBrowserTest { ...@@ -49,6 +50,8 @@ class BrowserActionsBarBrowserTest : public extensions::ExtensionBrowserTest {
} }
private: private:
base::test::ScopedFeatureList feature_list_;
std::unique_ptr<BrowserActionTestUtil> browser_actions_bar_; std::unique_ptr<BrowserActionTestUtil> browser_actions_bar_;
// The associated toolbar model, weak. // The associated toolbar model, weak.
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "chrome/browser/ui/views/frame/test_with_browser_view.h" #include "chrome/browser/ui/views/frame/test_with_browser_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_view.h" #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
#include "content/public/test/test_utils.h" #include "content/public/test/test_utils.h"
#include "extensions/browser/disable_reason.h"
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/browser/test_extension_registry_observer.h" #include "extensions/browser/test_extension_registry_observer.h"
#include "extensions/common/extension.h" #include "extensions/common/extension.h"
...@@ -269,6 +270,28 @@ TEST_F(ExtensionsMenuViewUnitTest, PinnedExtensionAppearsInAnotherWindow) { ...@@ -269,6 +270,28 @@ TEST_F(ExtensionsMenuViewUnitTest, PinnedExtensionAppearsInAnotherWindow) {
menu_item->view_controller_for_testing()); menu_item->view_controller_for_testing());
} }
TEST_F(ExtensionsMenuViewUnitTest, PinnedExtensionRemovedWhenDisabled) {
constexpr char kName[] = "Test Name";
const extensions::ExtensionId id = AddSimpleExtension(kName)->id();
{
ExtensionsMenuItemView* menu_item = GetOnlyMenuItem();
ASSERT_TRUE(menu_item);
ClickPinButton(menu_item);
}
extension_service()->DisableExtension(
id, extensions::disable_reason::DISABLE_USER_ACTION);
ASSERT_EQ(0u, extensions_menu()->extensions_menu_items_for_testing().size());
EXPECT_THAT(GetPinnedExtensionNames(), testing::IsEmpty());
extension_service()->EnableExtension(id);
ASSERT_EQ(1u, extensions_menu()->extensions_menu_items_for_testing().size());
EXPECT_THAT(GetPinnedExtensionNames(), testing::ElementsAre(kName));
}
TEST_F(ExtensionsMenuViewUnitTest, ReorderPinnedExtensions) { TEST_F(ExtensionsMenuViewUnitTest, ReorderPinnedExtensions) {
constexpr char kName1[] = "Test 1"; constexpr char kName1[] = "Test 1";
AddSimpleExtension(kName1); AddSimpleExtension(kName1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment