blob: 64a76c84775ef8ca7c1de2cd57ceebe53e577b69 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_
#define CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_
#include <string>
#include <vector>
#include "base/macros.h"
#include "components/sessions/core/session_id.h"
namespace sync_driver {
struct SyncedSession;
}
namespace sync_pb {
class SessionSpecifics;
}
namespace browser_sync {
class SessionSyncTestHelper {
public:
SessionSyncTestHelper() : max_tab_node_id_(0) {}
static void BuildSessionSpecifics(const std::string& tag,
sync_pb::SessionSpecifics* meta);
static void AddWindowSpecifics(int window_id,
const std::vector<int>& tab_list,
sync_pb::SessionSpecifics* meta);
static void VerifySyncedSession(
const std::string& tag,
const std::vector<std::vector<SessionID::id_type>>& windows,
const sync_driver::SyncedSession& session);
void BuildTabSpecifics(const std::string& tag,
int window_id,
int tab_id,
sync_pb::SessionSpecifics* tab_base);
sync_pb::SessionSpecifics BuildForeignSession(
const std::string& tag,
const std::vector<SessionID::id_type>& tab_list,
std::vector<sync_pb::SessionSpecifics>* tabs);
void Reset();
private:
int max_tab_node_id_;
DISALLOW_COPY_AND_ASSIGN(SessionSyncTestHelper);
};
} // namespace browser_sync
#endif // CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_