1 // Copyright (c) 2012 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_PROFILE_SYNC_COMPONENTS_FACTORY_MOCK_H__ 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_COMPONENTS_FACTORY_MOCK_H__ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "chrome/browser/sync/profile_sync_components_factory.h" 10 #include "chrome/browser/sync/profile_sync_service.h" 11 #include "components/sync_driver/data_type_controller.h" 12 #include "components/sync_driver/data_type_error_handler.h" 13 #include "testing/gmock/include/gmock/gmock.h" 14 15 namespace browser_sync { 16 class AssociatorInterface; 17 class ChangeProcessor; 18 class DataTypeEncryptionHandler; 19 class FailedDataTypesHandler; 20 } 21 22 class ProfileSyncComponentsFactoryMock : public ProfileSyncComponentsFactory { 23 public: 24 ProfileSyncComponentsFactoryMock(); 25 ProfileSyncComponentsFactoryMock( 26 browser_sync::AssociatorInterface* model_associator, 27 browser_sync::ChangeProcessor* change_processor); 28 virtual ~ProfileSyncComponentsFactoryMock(); 29 30 MOCK_METHOD1(RegisterDataTypes, void(ProfileSyncService*)); 31 MOCK_METHOD6(CreateDataTypeManager, 32 browser_sync::DataTypeManager*( 33 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>&, 34 const browser_sync::DataTypeController::TypeMap*, 35 const browser_sync::DataTypeEncryptionHandler*, 36 browser_sync::SyncBackendHost*, 37 browser_sync::DataTypeManagerObserver* observer, 38 browser_sync::FailedDataTypesHandler* 39 failed_datatypes_handler)); 40 MOCK_METHOD5(CreateSyncBackendHost, 41 browser_sync::SyncBackendHost*( 42 const std::string& name, 43 Profile* profile, 44 invalidation::InvalidationService* invalidator, 45 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, 46 const base::FilePath& sync_folder)); 47 MOCK_METHOD1(GetSyncableServiceForType, 48 base::WeakPtr<syncer::SyncableService>(syncer::ModelType)); 49 virtual scoped_ptr<syncer::AttachmentService> CreateAttachmentService( 50 syncer::AttachmentService::Delegate* delegate) OVERRIDE; 51 MOCK_METHOD2(CreateBookmarkSyncComponents, 52 SyncComponents(ProfileSyncService* profile_sync_service, 53 browser_sync::DataTypeErrorHandler* error_handler)); 54 #if defined(ENABLE_THEMES) 55 MOCK_METHOD2(CreateThemeSyncComponents, 56 SyncComponents(ProfileSyncService* profile_sync_service, 57 browser_sync::DataTypeErrorHandler* error_handler)); 58 #endif 59 MOCK_METHOD3(CreateTypedUrlSyncComponents, 60 SyncComponents( 61 ProfileSyncService* profile_sync_service, 62 history::HistoryBackend* history_backend, 63 browser_sync::DataTypeErrorHandler* error_handler)); 64 65 private: 66 SyncComponents MakeSyncComponents(); 67 68 scoped_ptr<browser_sync::AssociatorInterface> model_associator_; 69 scoped_ptr<browser_sync::ChangeProcessor> change_processor_; 70 }; 71 72 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_COMPONENTS_FACTORY_MOCK_H__ 73