chromium/chrome/browser/ui/webui/tab_strip/tab_strip_page_handler_unittest.cc

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ui/webui/tab_strip/tab_strip_page_handler.h"

#include <memory>
#include <optional>

#include "base/strings/utf_string_conversions.h"
#include "base/test/bind.h"
#include "base/values.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/ui/tabs/tab_group_model.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip_ui.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip_ui_embedder.h"
#include "chrome/browser/ui/webui/tab_strip/tab_strip_ui_layout.h"
#include "chrome/browser/ui/webui/webui_util_desktop.h"
#include "chrome/test/base/browser_with_test_window_test.h"
#include "chrome/test/base/testing_profile_manager.h"
#include "components/tab_groups/tab_group_color.h"
#include "components/tab_groups/tab_group_id.h"
#include "components/tab_groups/tab_group_visual_data.h"
#include "content/public/browser/web_ui.h"
#include "content/public/test/test_web_ui.h"
#include "content/public/test/web_contents_tester.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/theme_provider.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/geometry/point.h"

_;
AtLeast;
InSequence;
Truly;

namespace {

class TestTabStripPageHandler : public TabStripPageHandler {};

class StubTabStripUIEmbedder : public TabStripUIEmbedder {};

class MockPage : public tab_strip::mojom::Page {};

}  // namespace

class TabStripPageHandlerTest : public BrowserWithTestWindowTest {};

TEST_F(TabStripPageHandlerTest, GroupClosedEvent) {}

TEST_F(TabStripPageHandlerTest, GroupStateChangedEvents) {}

TEST_F(TabStripPageHandlerTest, GetGroupVisualData) {}

TEST_F(TabStripPageHandlerTest, GroupVisualDataChangedEvent) {}

TEST_F(TabStripPageHandlerTest, GroupTab) {}

TEST_F(TabStripPageHandlerTest, MoveGroup) {}

class MockTabStripModelObserver : public TabStripModelObserver {};

// Tests the event order from a multi-tab group move. The WebUI event handling
// implementation relies on this order of events. If it ever changes the WebUI
// implementation should also change.
TEST_F(TabStripPageHandlerTest, ValidateTabGroupEventStream) {}

TEST_F(TabStripPageHandlerTest, MoveGroupAcrossWindows) {}

TEST_F(TabStripPageHandlerTest, MoveGroupAcrossProfiles) {}

TEST_F(TabStripPageHandlerTest, MoveTab) {}

TEST_F(TabStripPageHandlerTest, MoveTabAcrossProfiles) {}

TEST_F(TabStripPageHandlerTest, MoveTabAcrossWindows) {}

TEST_F(TabStripPageHandlerTest, TabCreated) {}

TEST_F(TabStripPageHandlerTest, TabRemoved) {}

TEST_F(TabStripPageHandlerTest, TabMoved) {}

TEST_F(TabStripPageHandlerTest, TabMovedAndPinned) {}

TEST_F(TabStripPageHandlerTest, TabReplaced) {}

TEST_F(TabStripPageHandlerTest, TabActivated) {}

TEST_F(TabStripPageHandlerTest, SwitchTab) {}

TEST_F(TabStripPageHandlerTest, UngroupTab) {}

TEST_F(TabStripPageHandlerTest, CloseTab) {}

TEST_F(TabStripPageHandlerTest, RemoveTabIfInvalidContextMenu) {}

TEST_F(TabStripPageHandlerTest, PreventsInvalidTabDrags) {}

TEST_F(TabStripPageHandlerTest, PreventsInvalidGroupDrags) {}

TEST_F(TabStripPageHandlerTest, OnThemeChanged) {}