Index: chrome/browser/chromeos/settings/settings_provider_test_base.cc |
diff --git a/chrome/browser/chromeos/settings/settings_provider_test_base.cc b/chrome/browser/chromeos/settings/settings_provider_test_base.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3145f18820184240f83fc553d214d23caaea5900 |
--- /dev/null |
+++ b/chrome/browser/chromeos/settings/settings_provider_test_base.cc |
@@ -0,0 +1,55 @@ |
+// Copyright (c) 2015 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. |
+ |
+#include "chrome/browser/chromeos/settings/settings_provider_test_base.h" |
+ |
+#include "chrome/browser/chromeos/ownership/fake_owner_settings_service.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace chromeos { |
+ |
+SettingsProviderTestBase::SettingsProviderTestBase() { |
+ if (!DeviceSettingsService::IsInitialized()) { |
+ test_device_settings_service_.reset(new ScopedTestDeviceSettingsService()); |
+ test_cros_settings_.reset(new ScopedTestCrosSettings()); |
+ } |
+} |
+ |
+SettingsProviderTestBase::SettingsProviderTestBase( |
+ bool create_settings_service) { |
+ if (create_settings_service && !DeviceSettingsService::IsInitialized()) { |
+ test_device_settings_service_.reset(new ScopedTestDeviceSettingsService()); |
+ test_cros_settings_.reset(new ScopedTestCrosSettings()); |
+ } |
+} |
+ |
+SettingsProviderTestBase::~SettingsProviderTestBase() { |
+} |
+ |
+void SettingsProviderTestBase::ReplaceProvider(const std::string& path) { |
+ // Swap out the DeviceSettingsProvider with our settings provider so we can |
+ // set values for the specified path. |
+ CrosSettings* const cros_settings = CrosSettings::Get(); |
+ device_settings_provider_ = cros_settings->GetProvider(path); |
+ EXPECT_TRUE(device_settings_provider_); |
+ EXPECT_TRUE(cros_settings->RemoveSettingsProvider(device_settings_provider_)); |
+ cros_settings->AddSettingsProvider(&stub_settings_provider_); |
+} |
+ |
+void SettingsProviderTestBase::RestoreProvider() { |
+ if (device_settings_provider_) { |
+ // Restore the real DeviceSettingsProvider. |
+ CrosSettings* const cros_settings = CrosSettings::Get(); |
+ EXPECT_TRUE( |
+ cros_settings->RemoveSettingsProvider(&stub_settings_provider_)); |
+ cros_settings->AddSettingsProvider(device_settings_provider_); |
+ } |
+} |
+ |
+void SettingsProviderTestBase::InitOwnerSettingsService(Profile* profile) { |
+ owner_settings_service_.reset( |
+ new chromeos::FakeOwnerSettingsService(profile)); |
Mattias Nissler (ping if slow)
2015/03/30 14:45:46
Does this also correctly associate the created ser
Ivan Podogov
2015/03/31 08:40:00
It doesn't. I'll add the builder where necessary.
|
+} |
+ |
+} // namespace chromeos |