• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_
7 #pragma once
8 
9 #include "base/file_path.h"
10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h"
12 #include "base/memory/scoped_temp_dir.h"
13 #include "base/message_loop.h"
14 #include "chrome/browser/extensions/extension_service.h"
15 #include "content/browser/browser_thread.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17 
18 class ExtensionServiceTestBase : public testing::Test {
19  public:
20   ExtensionServiceTestBase();
21   virtual ~ExtensionServiceTestBase();
22 
23   void InitializeExtensionService(
24       const FilePath& pref_file, const FilePath& extensions_install_dir,
25       bool autoupdate_enabled);
26 
27   void InitializeInstalledExtensionService(
28       const FilePath& prefs_file, const FilePath& source_install_dir);
29 
30   void InitializeEmptyExtensionService();
31 
32   void InitializeExtensionServiceWithUpdater();
33 
34   static void SetUpTestCase();
35 
36   virtual void SetUp();
37 
set_extensions_enabled(bool enabled)38   void set_extensions_enabled(bool enabled) {
39     service_->set_extensions_enabled(enabled);
40   }
41 
42  protected:
43   void InitializeExtensionServiceHelper(bool autoupdate_enabled);
44 
45   ScopedTempDir temp_dir_;
46   scoped_ptr<Profile> profile_;
47   FilePath extensions_install_dir_;
48   FilePath data_dir_;
49   scoped_refptr<ExtensionService> service_;
50   size_t total_successes_;
51   MessageLoop loop_;
52   BrowserThread ui_thread_;
53   BrowserThread db_thread_;
54   BrowserThread webkit_thread_;
55   BrowserThread file_thread_;
56   BrowserThread io_thread_;
57 };
58 
59 #endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_
60