| Index: chrome/browser/extensions/extension_settings_test_util.h
|
| diff --git a/chrome/browser/extensions/extension_settings_test_util.h b/chrome/browser/extensions/extension_settings_test_util.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..007d82d20ea5011146a251ac33da90cb769c0b51
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/extension_settings_test_util.h
|
| @@ -0,0 +1,63 @@
|
| +// 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_EXTENSIONS_EXTENSION_SETTINGS_TEST_UTIL_H_
|
| +#define CHROME_BROWSER_EXTENSIONS_EXTENSION_SETTINGS_TEST_UTIL_H_
|
| +#pragma once
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/ref_counted.h"
|
| +#include "chrome/browser/extensions/extension_event_router.h"
|
| +#include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/test_extension_service.h"
|
| +#include "chrome/test/base/testing_profile.h"
|
| +
|
| +class Extension;
|
| +
|
| +// Utilities for extension settings API tests.
|
| +namespace extension_settings_test_util {
|
| +
|
| +// Synchronously gets the storage area for an extension from |frontend|.
|
| +ExtensionSettingsStorage* GetStorage(
|
| + const std::string& extension_id, ExtensionSettingsFrontend* frontend);
|
| +
|
| +// An ExtensionService which allows extensions to be hand-added to be returned
|
| +// by GetExtensionById.
|
| +class MockExtensionService : public TestExtensionService {
|
| + public:
|
| + MockExtensionService();
|
| + virtual ~MockExtensionService();
|
| +
|
| + // Adds an extension with id |id| to be returned by GetExtensionById.
|
| + void AddExtension(const std::string& id, bool is_app);
|
| +
|
| + virtual const Extension* GetExtensionById(
|
| + const std::string& id, bool include_disabled) const OVERRIDE;
|
| +
|
| + private:
|
| + std::map<std::string, scoped_refptr<Extension> > extensions_;
|
| +};
|
| +
|
| +// A Profile which returns ExtensionService and ExtensionEventRouters with
|
| +// enough functionality for the tests.
|
| +class MockProfile : public TestingProfile {
|
| + public:
|
| + explicit MockProfile(const FilePath& file_path);
|
| + virtual ~MockProfile();
|
| +
|
| + // Returns the same object as GetExtensionService, but not coaxed into an
|
| + // ExtensionService; use this method from tests.
|
| + MockExtensionService* GetMockExtensionService();
|
| +
|
| + virtual ExtensionService* GetExtensionService() OVERRIDE;
|
| + virtual ExtensionEventRouter* GetExtensionEventRouter() OVERRIDE;
|
| +
|
| + private:
|
| + MockExtensionService extension_service_;
|
| + scoped_ptr<ExtensionEventRouter> event_router_;
|
| +};
|
| +
|
| +} // namespace extension_settings_test_util
|
| +
|
| +#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SETTINGS_TEST_UTIL_H_
|
|
|