// Copyright (c) 2011 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_PROFILE_SYNC_FACTORY_MOCK_H__
#define CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_MOCK_H__
#pragma once
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/profile_sync_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace browser_sync {
class AssociatorInterface;
class ChangeProcessor;
}
class ProfileSyncFactoryMock : public ProfileSyncFactory {
public:
ProfileSyncFactoryMock();
ProfileSyncFactoryMock(
browser_sync::AssociatorInterface* bookmark_model_associator,
browser_sync::ChangeProcessor* bookmark_change_processor);
virtual ~ProfileSyncFactoryMock();
MOCK_METHOD1(CreateProfileSyncService,
ProfileSyncService*(const std::string&));
MOCK_METHOD2(CreateDataTypeManager,
browser_sync::DataTypeManager*(
browser_sync::SyncBackendHost*,
const browser_sync::DataTypeController::TypeMap&));
MOCK_METHOD2(CreateAppSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD4(CreateAutofillSyncComponents,
SyncComponents(
ProfileSyncService* profile_sync_service,
WebDatabase* web_database,
PersonalDataManager* personal_data,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD4(CreateAutofillProfileSyncComponents,
SyncComponents(
ProfileSyncService* profile_sync_service,
WebDatabase* web_database,
PersonalDataManager* personal_data,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD2(CreateBookmarkSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD2(CreateExtensionSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD3(CreatePasswordSyncComponents,
SyncComponents(
ProfileSyncService* profile_sync_service,
PasswordStore* password_store,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD2(CreatePreferenceSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD2(CreateSessionSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD2(CreateThemeSyncComponents,
SyncComponents(ProfileSyncService* profile_sync_service,
browser_sync::UnrecoverableErrorHandler* error_handler));
MOCK_METHOD3(CreateTypedUrlSyncComponents,
SyncComponents(
ProfileSyncService* profile_sync_service,
history::HistoryBackend* history_backend,
browser_sync::UnrecoverableErrorHandler* error_handler));
private:
SyncComponents MakeBookmarkSyncComponents();
scoped_ptr<browser_sync::AssociatorInterface> bookmark_model_associator_;
scoped_ptr<browser_sync::ChangeProcessor> bookmark_change_processor_;
};
#endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_FACTORY_MOCK_H__