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 COMPONENTS_WEBDATA_COMMON_WEB_DATA_SERVICE_TEST_UTIL_H__ 6#define COMPONENTS_WEBDATA_COMMON_WEB_DATA_SERVICE_TEST_UTIL_H__ 7 8#include "base/basictypes.h" 9#include "base/message_loop/message_loop.h" 10#include "chrome/browser/webdata/web_data_service_factory.h" 11#include "components/signin/core/browser/webdata/token_web_data.h" 12 13// Base class for mocks of WebDataService, that does nothing in 14// Shutdown(). 15class MockWebDataServiceWrapperBase : public WebDataServiceWrapper { 16 public: 17 MockWebDataServiceWrapperBase(); 18 virtual ~MockWebDataServiceWrapperBase(); 19 20 virtual void Shutdown() OVERRIDE; 21 22 private: 23 DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapperBase); 24}; 25 26// Pass your fake WebDataService in the constructor and this will 27// serve it up via GetWebData(). 28class MockWebDataServiceWrapper : public MockWebDataServiceWrapperBase { 29 public: 30 MockWebDataServiceWrapper( 31 scoped_refptr<autofill::AutofillWebDataService> fake_autofill, 32 scoped_refptr<TokenWebData> fake_token); 33 34 virtual ~MockWebDataServiceWrapper(); 35 36 virtual scoped_refptr<autofill::AutofillWebDataService> 37 GetAutofillWebData() OVERRIDE; 38 39 virtual scoped_refptr<TokenWebData> GetTokenWebData() OVERRIDE; 40 41 protected: 42 scoped_refptr<autofill::AutofillWebDataService> fake_autofill_web_data_; 43 scoped_refptr<TokenWebData> fake_token_web_data_; 44 45 private: 46 DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapper); 47}; 48 49#endif // COMPONENTS_WEBDATA_COMMON_WEB_DATA_SERVICE_TEST_UTIL_H__ 50