1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 6#define CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 7 8#include <string> 9#include <vector> 10 11#include "components/sessions/session_id.h" 12 13namespace sync_pb { 14class SessionSpecifics; 15} 16 17namespace browser_sync { 18 19struct SyncedSession; 20 21class SessionSyncTestHelper { 22 public: 23 SessionSyncTestHelper() : max_tab_node_id_(0) {} 24 25 static void BuildSessionSpecifics(const std::string& tag, 26 sync_pb::SessionSpecifics* meta); 27 28 static void AddWindowSpecifics(int window_id, 29 const std::vector<int>& tab_list, 30 sync_pb::SessionSpecifics* meta); 31 32 static void VerifySyncedSession( 33 const std::string& tag, 34 const std::vector<std::vector<SessionID::id_type> >& windows, 35 const SyncedSession& session); 36 37 void BuildTabSpecifics(const std::string& tag, 38 int window_id, 39 int tab_id, 40 sync_pb::SessionSpecifics* tab_base); 41 42 sync_pb::SessionSpecifics BuildForeignSession( 43 const std::string& tag, 44 const std::vector<SessionID::id_type>& tab_list, 45 std::vector<sync_pb::SessionSpecifics>* tabs); 46 47 void Reset(); 48 49 private: 50 int max_tab_node_id_; 51 DISALLOW_COPY_AND_ASSIGN(SessionSyncTestHelper); 52}; 53 54} // namespace browser_sync 55 56#endif // CHROME_BROWSER_SYNC_GLUE_SESSION_SYNC_TEST_HELPER_H_ 57