Home | History | Annotate | Download | only in glue
      1 // Copyright (c) 2011 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_DATA_TYPE_MANAGER_MOCK_H__
      6 #define CHROME_BROWSER_SYNC_GLUE_DATA_TYPE_MANAGER_MOCK_H__
      7 #pragma once
      8 
      9 #include "chrome/browser/sync/glue/data_type_manager.h"
     10 #include "chrome/browser/sync/profile_sync_test_util.h"
     11 #include "content/common/notification_details.h"
     12 #include "content/common/notification_service.h"
     13 #include "content/common/notification_type.h"
     14 #include "testing/gmock/include/gmock/gmock.h"
     15 
     16 ACTION_P3(NotifyFromDataTypeManagerWithResult, dtm, type, result) {
     17   NotificationService::current()->Notify(
     18       type,
     19       Source<browser_sync::DataTypeManager>(dtm),
     20       Details<browser_sync::DataTypeManager::ConfigureResultWithErrorLocation>(
     21           result));
     22 }
     23 
     24 ACTION_P2(NotifyFromDataTypeManager, dtm, type) {
     25   NotificationService::current()->Notify(type,
     26       Source<browser_sync::DataTypeManager>(dtm),
     27       NotificationService::NoDetails());
     28 }
     29 
     30 namespace browser_sync {
     31 
     32 class DataTypeManagerMock : public DataTypeManager {
     33  public:
     34   DataTypeManagerMock();
     35   virtual ~DataTypeManagerMock();
     36 
     37   MOCK_METHOD1(Configure, void(const TypeSet&));
     38   MOCK_METHOD0(Stop, void());
     39   MOCK_METHOD0(controllers, const DataTypeController::TypeMap&());
     40   MOCK_METHOD0(state, State());
     41 
     42  private:
     43   browser_sync::DataTypeManager::ConfigureResultWithErrorLocation result_;
     44 };
     45 
     46 }  // namespace browser_sync
     47 
     48 #endif  // CHROME_BROWSER_SYNC_GLUE_DATA_TYPE_MANAGER_MOCK_H__
     49