Chromium Code Reviews| 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..32f5ed4bf31d16de58c50d24dfaf05857e9ec293 |
| --- /dev/null |
| +++ b/chrome/browser/chromeos/settings/settings_provider_test_base.cc |
| @@ -0,0 +1,56 @@ |
| +// 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 "chrome/browser/chromeos/settings/cros_settings.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +namespace chromeos { |
| + |
| +SettingsProviderTestBase::SettingsProviderTestBase() { |
| + if (!DeviceSettingsService::IsInitialized()) { |
|
bartfab (slow)
2015/03/31 14:12:41
Nit: #include "chrome/browser/chromeos/settings/de
|
| + 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()); |
|
bartfab (slow)
2015/03/31 14:12:40
Nit: Move this common code out to a helper method.
|
| + 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); |
|
bartfab (slow)
2015/03/31 14:12:40
Nit: #include "chromeos/settings/cros_settings_pro
|
| + 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_) { |
|
bartfab (slow)
2015/03/31 14:12:41
Why is this conditional here? Do you expect Restor
|
| + // 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)); |
| +} |
| + |
| +} // namespace chromeos |