#include "components/saved_tab_groups/saved_tab_group_model.h"
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/rand_util.h"
#include "base/test/gtest_util.h"
#include "base/test/scoped_feature_list.h"
#include "base/token.h"
#include "base/uuid.h"
#include "build/build_config.h"
#include "components/saved_tab_groups/features.h"
#include "components/saved_tab_groups/saved_tab_group.h"
#include "components/saved_tab_groups/saved_tab_group_model_observer.h"
#include "components/saved_tab_groups/saved_tab_group_sync_bridge.h"
#include "components/saved_tab_groups/saved_tab_group_tab.h"
#include "components/saved_tab_groups/saved_tab_group_test_utils.h"
#include "components/saved_tab_groups/types.h"
#include "components/sync/protocol/saved_tab_group_specifics.pb.h"
#include "components/tab_groups/tab_group_color.h"
#include "components/tab_groups/tab_group_id.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/image/image.h"
#include "url/gurl.h"
#include "url/url_constants.h"
namespace tab_groups {
namespace {
IsEmpty;
Not;
Pointee;
UnorderedElementsAre;
MATCHER_P(HasGroupId, guid, "") { … }
class SavedTabGroupModelObserverTest
: public ::testing::Test,
public SavedTabGroupModelObserver,
public ::testing::WithParamInterface<bool> { … };
class SavedTabGroupModelTest : public ::testing::Test,
public ::testing::WithParamInterface<bool> { … };
TEST_P(SavedTabGroupModelTest, InitialCountThree) { … }
TEST_P(SavedTabGroupModelTest, InitialGroupsAreSaved) { … }
TEST_P(SavedTabGroupModelTest, InitialOrderAdded) { … }
TEST_P(SavedTabGroupModelTest, ContainsNoElementsOnRemoval) { … }
TEST_P(SavedTabGroupModelTest, RemovesCorrectElements) { … }
TEST_P(SavedTabGroupModelTest, OnlyAddUniqueElements) { … }
TEST_P(SavedTabGroupModelTest, AddNewElement) { … }
TEST_P(SavedTabGroupModelTest, UpdateElement) { … }
TEST_P(SavedTabGroupModelTest, MakeTabGroupShared) { … }
TEST_P(SavedTabGroupModelTest, AddTabToGroup) { … }
TEST_P(SavedTabGroupModelTest, RemoveTabFromGroup) { … }
TEST_P(SavedTabGroupModelTest, RemoveLastTabFromGroup) { … }
TEST_P(SavedTabGroupModelTest, UpdateTabInGroup) { … }
TEST_P(SavedTabGroupModelTest, MoveTabInGroup) { … }
TEST_P(SavedTabGroupModelTest, MoveElement) { … }
TEST_P(SavedTabGroupModelTest, ShouldDistinguishSavedAndSharedGroups) { … }
TEST_P(SavedTabGroupModelTest, LoadStoredEntriesPopulatesModel) { … }
TEST_P(SavedTabGroupModelTest, MergeGroupsFromModel) { … }
TEST_P(SavedTabGroupModelTest, MergePinnedGroupRetainPosition) { … }
TEST_P(SavedTabGroupModelTest, MergeUnpinnedGroupRetainUnpinned) { … }
TEST_P(SavedTabGroupModelTest, MergeTabsFromModel) { … }
TEST_P(SavedTabGroupModelTest, GroupsSortedWithInOrderPositions) { … }
TEST_P(SavedTabGroupModelTest, GroupsSortedWithOutOfOrderPositions) { … }
TEST_P(SavedTabGroupModelTest, GroupsSortedWithGapsInPositions) { … }
TEST_P(SavedTabGroupModelTest, GroupsSortedWithDecreasingPositions) { … }
TEST_P(SavedTabGroupModelTest, GroupWithSamePositionSortedByUpdateTime) { … }
TEST_P(SavedTabGroupModelTest, GroupsWithNoPositionInsertedAtEnd) { … }
TEST_P(SavedTabGroupModelTest, AddPinnedGroup) { … }
TEST_P(SavedTabGroupModelTest, PinGroup) { … }
TEST_P(SavedTabGroupModelTest, UnpinGroup) { … }
TEST_P(SavedTabGroupModelTest, MigrateSavedTabGroup2FromV1) { … }
TEST_P(SavedTabGroupModelObserverTest, AddElement) { … }
TEST_P(SavedTabGroupModelObserverTest, RemovedElement) { … }
TEST_P(SavedTabGroupModelObserverTest, UpdatedElement) { … }
TEST_P(SavedTabGroupModelObserverTest, MakeTabGroupShared) { … }
TEST_P(SavedTabGroupModelObserverTest, AddElementFromSync) { … }
TEST_P(SavedTabGroupModelObserverTest, RemovedElementFromSync) { … }
TEST_P(SavedTabGroupModelObserverTest, UpdatedElementFromSync) { … }
TEST_P(SavedTabGroupModelObserverTest, OnGroupClosedInTabStrip) { … }
TEST_P(SavedTabGroupModelObserverTest, MoveElement) { … }
TEST_P(SavedTabGroupModelObserverTest, ReordedTabsUpdatePositions) { … }
TEST_P(SavedTabGroupModelObserverTest, GetGroupContainingTab) { … }
TEST_P(SavedTabGroupModelObserverTest, TogglePinState) { … }
TEST_P(SavedTabGroupModelObserverTest, MigrateSavedTabGroupsFromV1) { … }
TEST_P(SavedTabGroupModelObserverTest, UpdateLocalCacheGuid) { … }
TEST_P(SavedTabGroupModelObserverTest, UpdateLocalCacheGuidForTabs) { … }
INSTANTIATE_TEST_SUITE_P(…);
INSTANTIATE_TEST_SUITE_P(…);
}
}