1// Copyright 2014 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_NON_UI_DATA_TYPE_CONTROLLER_MOCK_H_ 6#define CHROME_BROWSER_SYNC_GLUE_NON_UI_DATA_TYPE_CONTROLLER_MOCK_H_ 7 8#include "components/sync_driver/non_ui_data_type_controller.h" 9#include "sync/api/sync_error.h" 10#include "testing/gmock/include/gmock/gmock.h" 11 12namespace sync_driver { 13 14class NonUIDataTypeControllerMock 15 : public NonUIDataTypeController { 16 public: 17 NonUIDataTypeControllerMock(); 18 19 // DataTypeController mocks. 20 MOCK_METHOD1(StartAssociating, 21 void(const StartCallback& start_callback)); 22 MOCK_METHOD1(LoadModels, void(const ModelLoadCallback& model_load_callback)); 23 MOCK_METHOD0(OnModelLoaded, void()); 24 MOCK_METHOD0(Stop, void()); 25 MOCK_CONST_METHOD0(type, syncer::ModelType()); 26 MOCK_CONST_METHOD0(name, std::string()); 27 MOCK_CONST_METHOD0(model_safe_group, syncer::ModelSafeGroup()); 28 MOCK_CONST_METHOD0(state, State()); 29 MOCK_METHOD1(OnSingleDataTypeUnrecoverableError, 30 void(const syncer::SyncError& error)); 31 32 // NonUIDataTypeController mocks. 33 MOCK_METHOD0(StartModels, bool()); 34 MOCK_METHOD0(StopModels, void()); 35 MOCK_METHOD2(PostTaskOnBackendThread, 36 bool(const tracked_objects::Location&, 37 const base::Closure&)); 38 MOCK_METHOD3(StartDone, 39 void(DataTypeController::ConfigureResult result, 40 const syncer::SyncMergeResult& local_merge_result, 41 const syncer::SyncMergeResult& syncer_merge_result)); 42 MOCK_METHOD4(StartDoneImpl, 43 void(DataTypeController::ConfigureResult result, 44 DataTypeController::State new_state, 45 const syncer::SyncMergeResult& local_merge_result, 46 const syncer::SyncMergeResult& syncer_merge_result)); 47 MOCK_METHOD1(RecordAssociationTime, void(base::TimeDelta time)); 48 MOCK_METHOD1(RecordStartFailure, void(ConfigureResult result)); 49 50 protected: 51 virtual ~NonUIDataTypeControllerMock(); 52}; 53 54} // namespace sync_driver 55 56#endif // CHROME_BROWSER_SYNC_GLUE_NON_UI_DATA_TYPE_CONTROLLER_MOCK_H_ 57