summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-01 13:23:52 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-01 11:25:08 +0000
commit5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0 (patch)
tree49758e2556cca8f7d386b49a6c41b3bcb7c20b48 /chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc
parent189d4fd8fad9e3c776873be51938cd31a42b6177 (diff)
downloadqtwebengine-chromium-5d013f5804a0d91fcf6c626b2d6fb6eca5c845b0.tar.gz
BASELINE: Update Chromium to 90.0.4430.228
Change-Id: I2d24c073cefc4842980b84cc7e9c5419c107c501 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc')
-rw-r--r--chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc34
1 files changed, 31 insertions, 3 deletions
diff --git a/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc b/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc
index efebc9b2638..4934de996d4 100644
--- a/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc
+++ b/chromium/chrome/browser/extensions/api/tab_groups/tab_groups_api_unittest.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/extensions/api/tab_groups/tab_groups_event_router.h"
#include "chrome/browser/extensions/api/tab_groups/tab_groups_event_router_factory.h"
#include "chrome/browser/extensions/api/tab_groups/tab_groups_util.h"
+#include "chrome/browser/extensions/api/tabs/tabs_constants.h"
#include "chrome/browser/extensions/extension_function_test_utils.h"
#include "chrome/browser/extensions/extension_service_test_base.h"
#include "chrome/browser/extensions/extension_tab_util.h"
@@ -124,13 +125,12 @@ void TabGroupsApiUnitTest::SetUp() {
InitializeEmptyExtensionService();
// Create a browser window.
- TestBrowserWindow* window = new TestBrowserWindow;
+ browser_window_ = std::make_unique<TestBrowserWindow>();
// TestBrowserWindowOwner handles its own lifetime, and also cleans up
// |window2|.
- new TestBrowserWindowOwner(window);
Browser::CreateParams params(profile(), /* user_gesture */ true);
params.type = Browser::TYPE_NORMAL;
- params.window = window;
+ params.window = browser_window_.get();
browser_ = std::unique_ptr<Browser>(Browser::Create(params));
BrowserList::SetLastActive(browser_.get());
@@ -545,4 +545,32 @@ TEST_F(TabGroupsApiUnitTest, TabGroupsOnMoved) {
api::tab_groups::OnMoved::kEventName));
}
+// Test that tab groups aren't edited while dragging.
+TEST_F(TabGroupsApiUnitTest, IsTabStripEditable) {
+ scoped_refptr<const Extension> extension = CreateTabGroupsExtension();
+ int group_id = tab_groups_util::GetGroupId(
+ browser()->tab_strip_model()->AddToNewGroup({0}));
+ const std::string args =
+ base::StringPrintf(R"([%d, {"index": %d}])", group_id, 1);
+
+ // Succeed moving group in normal case.
+ {
+ auto function = base::MakeRefCounted<TabGroupsMoveFunction>();
+ function->set_extension(extension);
+ ASSERT_TRUE(extension_function_test_utils::RunFunction(
+ function.get(), args, browser(), api_test_utils::NONE));
+ }
+
+ // Gracefully cancel group tab drag if tab strip isn't editable.
+ {
+ browser_window()->SetIsTabStripEditable(false);
+ auto function = base::MakeRefCounted<TabGroupsMoveFunction>();
+ function->set_extension(extension);
+ std::string error =
+ extension_function_test_utils::RunFunctionAndReturnError(
+ function.get(), args, browser());
+ EXPECT_EQ(tabs_constants::kTabStripNotEditableError, error);
+ }
+}
+
} // namespace extensions