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 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