blob: 0ae8792fe3a315f78d084adedc074e823104443e [file]
// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_SESSIONS_MOCK_OPEN_TABS_UI_DELEGATE_H_
#define COMPONENTS_SYNC_SESSIONS_MOCK_OPEN_TABS_UI_DELEGATE_H_
#include <string>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "components/sessions/core/session_id.h"
#include "components/sync_sessions/open_tabs_ui_delegate.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace sessions {
struct SessionTab;
struct SessionWindow;
} // namespace sessions
namespace sync_sessions {
struct SyncedSession;
class MockOpenTabsUIDelegate : public OpenTabsUIDelegate {
public:
MockOpenTabsUIDelegate();
MockOpenTabsUIDelegate(const MockOpenTabsUIDelegate&) = delete;
MockOpenTabsUIDelegate& operator=(const MockOpenTabsUIDelegate&) = delete;
~MockOpenTabsUIDelegate() override;
MOCK_METHOD(bool,
GetAllForeignSessions,
((std::vector<raw_ptr<const SyncedSession, VectorExperimental>> *
sessions)),
(override));
MOCK_METHOD((base::flat_map<std::string, base::Time>),
GetAllForeignSessionLastModifiedTimes,
(),
(const, override));
MOCK_METHOD(bool,
GetForeignTab,
(const std::string& tag,
SessionID tab_id,
const sessions::SessionTab** tab),
(override));
MOCK_METHOD(void, DeleteForeignSession, (const std::string& tag), (override));
MOCK_METHOD(std::vector<const sessions::SessionWindow*>,
GetForeignSession,
(const std::string& tag),
(override));
MOCK_METHOD(bool,
GetForeignSessionTabs,
(const std::string& tag,
std::vector<const sessions::SessionTab*>* tabs),
(override));
MOCK_METHOD(bool, GetLocalSession, (const SyncedSession** local), (override));
};
} // namespace sync_sessions
#endif // COMPONENTS_SYNC_SESSIONS_MOCK_OPEN_TABS_UI_DELEGATE_H_