Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / external_provider_impl_chromeos_unittest.cc
index 74117b3..bc90c09 100644 (file)
@@ -6,11 +6,18 @@
 
 #include "base/command_line.h"
 #include "base/memory/scoped_ptr.h"
+#include "base/prefs/testing_pref_service.h"
 #include "base/test/scoped_path_override.h"
 #include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/extensions/extension_service_unittest.h"
+#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
+#include "chrome/browser/chromeos/customization_document.h"
+#include "chrome/browser/chromeos/login/users/fake_user_manager.h"
+#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
+#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/extension_service_test_base.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
+#include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/system/mock_statistics_provider.h"
 #include "chromeos/system/statistics_provider.h"
@@ -30,7 +37,11 @@ const char kExternalAppId[] = "kekdneafjmhmndejhmbcadfiiofngffo";
 
 class ExternalProviderImplChromeOSTest : public ExtensionServiceTestBase {
  public:
-  ExternalProviderImplChromeOSTest() {}
+  ExternalProviderImplChromeOSTest()
+      : fake_user_manager_(new chromeos::FakeUserManager()),
+        scoped_user_manager_(fake_user_manager_) {
+  }
+
   virtual ~ExternalProviderImplChromeOSTest() {}
 
   void InitServiceWithExternalProviders() {
@@ -52,9 +63,12 @@ class ExternalProviderImplChromeOSTest : public ExtensionServiceTestBase {
   virtual void SetUp() OVERRIDE {
     ExtensionServiceTestBase::SetUp();
 
-    external_externsions_overrides_.reset(
-        new base::ScopedPathOverride(chrome::DIR_EXTERNAL_EXTENSIONS,
-                                     data_dir_.Append("external")));
+    TestingBrowserProcess::GetGlobal()->SetLocalState(&local_state_);
+    chromeos::ServicesCustomizationDocument::RegisterPrefs(
+        local_state_.registry());
+
+    external_externsions_overrides_.reset(new base::ScopedPathOverride(
+        chrome::DIR_EXTERNAL_EXTENSIONS, data_dir().Append("external")));
 
     chromeos::system::StatisticsProvider::SetTestProvider(
         &mock_statistics_provider_);
@@ -63,12 +77,17 @@ class ExternalProviderImplChromeOSTest : public ExtensionServiceTestBase {
   }
 
   virtual void TearDown() OVERRIDE {
+    chromeos::KioskAppManager::Shutdown();
     chromeos::system::StatisticsProvider::SetTestProvider(NULL);
+    TestingBrowserProcess::GetGlobal()->SetLocalState(NULL);
   }
 
  private:
+  TestingPrefServiceSimple local_state_;
   scoped_ptr<base::ScopedPathOverride> external_externsions_overrides_;
   chromeos::system::MockStatisticsProvider mock_statistics_provider_;
+  chromeos::FakeUserManager* fake_user_manager_;
+  chromeos::ScopedUserManagerEnabler scoped_user_manager_;
 
   DISALLOW_COPY_AND_ASSIGN(ExternalProviderImplChromeOSTest);
 };
@@ -81,7 +100,7 @@ TEST_F(ExternalProviderImplChromeOSTest, Normal) {
 
   service_->CheckForExternalUpdates();
   content::WindowedNotificationObserver(
-      chrome::NOTIFICATION_CRX_INSTALLER_DONE,
+      extensions::NOTIFICATION_CRX_INSTALLER_DONE,
       content::NotificationService::AllSources()).Wait();
 
   EXPECT_TRUE(service_->GetInstalledExtension(kExternalAppId));