Index: chrome/browser/prefs/pref_service_unittest.cc |
diff --git a/chrome/browser/prefs/pref_service_unittest.cc b/chrome/browser/prefs/pref_service_unittest.cc |
index 6575bdf3907a611ed4c5b9bbc8afd6c3a3d2b81a..8ada07a47ffb62d04698ed9364c139382248aff0 100644 |
--- a/chrome/browser/prefs/pref_service_unittest.cc |
+++ b/chrome/browser/prefs/pref_service_unittest.cc |
@@ -12,10 +12,11 @@ |
#include "chrome/browser/policy/mock_configuration_policy_provider.h" |
#include "chrome/browser/prefs/browser_prefs.h" |
#include "chrome/browser/prefs/command_line_pref_store.h" |
-#include "chrome/browser/prefs/testing_pref_store.h" |
#include "chrome/browser/prefs/pref_change_registrar.h" |
#include "chrome/browser/prefs/pref_observer_mock.h" |
+#include "chrome/browser/prefs/pref_service_mock_builder.h" |
#include "chrome/browser/prefs/pref_value_store.h" |
+#include "chrome/browser/prefs/testing_pref_store.h" |
#include "chrome/common/chrome_paths.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/pref_names.h" |
@@ -146,18 +147,6 @@ TEST(PrefServiceTest, Observers) { |
Mock::VerifyAndClearExpectations(&obs2); |
} |
-TEST(PrefServiceTest, ProxyFromCommandLineNotPolicy) { |
- CommandLine command_line(CommandLine::NO_PROGRAM); |
- command_line.AppendSwitch(switches::kProxyAutoDetect); |
- TestingPrefService prefs(NULL, NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs); |
- EXPECT_TRUE(prefs.GetBoolean(prefs::kProxyAutoDetect)); |
- const PrefService::Preference* pref = |
- prefs.FindPreference(prefs::kProxyAutoDetect); |
- ASSERT_TRUE(pref); |
- EXPECT_FALSE(pref->IsManaged()); |
-} |
- |
TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineOptions) { |
CommandLine command_line(CommandLine::NO_PROGRAM); |
command_line.AppendSwitchASCII(switches::kProxyBypassList, "123"); |
@@ -177,24 +166,28 @@ TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineOptions) { |
// First verify that command-line options are set correctly when |
// there is no policy in effect. |
- TestingPrefService prefs(NULL, NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ("789", prefs.GetString(prefs::kProxyServer)); |
- EXPECT_EQ("456", prefs.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ("123", prefs.GetString(prefs::kProxyBypassList)); |
+ PrefServiceMockBuilder builder; |
+ builder.WithCommandLine(&command_line); |
+ scoped_ptr<PrefService> prefs(builder.Create()); |
+ browser::RegisterUserPrefs(prefs.get()); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ("789", prefs->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ("456", prefs->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ("123", prefs->GetString(prefs::kProxyBypassList)); |
// Try a second time time with the managed PrefStore in place, the |
// manual proxy policy should have removed all traces of the command |
// line and replaced them with the policy versions. |
- TestingPrefService prefs2(provider.get(), NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs2); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ("ghi", prefs2.GetString(prefs::kProxyServer)); |
- EXPECT_EQ("def", prefs2.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ("abc", prefs2.GetString(prefs::kProxyBypassList)); |
+ builder.WithCommandLine(&command_line); |
+ builder.WithManagedPlatformProvider(provider.get()); |
+ scoped_ptr<PrefService> prefs2(builder.Create()); |
+ browser::RegisterUserPrefs(prefs2.get()); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ("ghi", prefs2->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ("def", prefs2->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ("abc", prefs2->GetString(prefs::kProxyBypassList)); |
} |
TEST(PrefServiceTest, ProxyPolicyOverridesUnrelatedCommandLineOptions) { |
@@ -210,25 +203,29 @@ TEST(PrefServiceTest, ProxyPolicyOverridesUnrelatedCommandLineOptions) { |
// First verify that command-line options are set correctly when |
// there is no policy in effect. |
- TestingPrefService prefs(NULL, NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ("789", prefs.GetString(prefs::kProxyServer)); |
- EXPECT_EQ("456", prefs.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ("123", prefs.GetString(prefs::kProxyBypassList)); |
+ PrefServiceMockBuilder builder; |
+ builder.WithCommandLine(&command_line); |
+ scoped_ptr<PrefService> prefs(builder.Create()); |
+ browser::RegisterUserPrefs(prefs.get()); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ("789", prefs->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ("456", prefs->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ("123", prefs->GetString(prefs::kProxyBypassList)); |
// Try a second time time with the managed PrefStore in place, the |
// no proxy policy should have removed all traces of the command |
// line proxy settings, even though they were not the specific one |
// set in policy. |
- TestingPrefService prefs2(provider.get(), NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs2); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyBypassList)); |
+ builder.WithCommandLine(&command_line); |
+ builder.WithManagedPlatformProvider(provider.get()); |
+ scoped_ptr<PrefService> prefs2(builder.Create()); |
+ browser::RegisterUserPrefs(prefs2.get()); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyBypassList)); |
} |
TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineNoProxy) { |
@@ -242,24 +239,28 @@ TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineNoProxy) { |
// First verify that command-line options are set correctly when |
// there is no policy in effect. |
- TestingPrefService prefs(NULL, NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_TRUE(prefs.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyServer)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyBypassList)); |
+ PrefServiceMockBuilder builder; |
+ builder.WithCommandLine(&command_line); |
+ scoped_ptr<PrefService> prefs(builder.Create()); |
+ browser::RegisterUserPrefs(prefs.get()); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyBypassList)); |
// Try a second time time with the managed PrefStore in place, the |
// auto-detect should be overridden. The default pref store must be |
// in place with the appropriate default value for this to work. |
- TestingPrefService prefs2(provider.get(), NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs2); |
- EXPECT_TRUE(prefs2.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyBypassList)); |
+ builder.WithCommandLine(&command_line); |
+ builder.WithManagedPlatformProvider(provider.get()); |
+ scoped_ptr<PrefService> prefs2(builder.Create()); |
+ browser::RegisterUserPrefs(prefs2.get()); |
+ EXPECT_TRUE(prefs2->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyBypassList)); |
} |
TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineAutoDetect) { |
@@ -273,24 +274,28 @@ TEST(PrefServiceTest, ProxyPolicyOverridesCommandLineAutoDetect) { |
// First verify that the auto-detect is set if there is no managed |
// PrefStore. |
- TestingPrefService prefs(NULL, NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs); |
- EXPECT_TRUE(prefs.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_FALSE(prefs.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyServer)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ(std::string(), prefs.GetString(prefs::kProxyBypassList)); |
+ PrefServiceMockBuilder builder; |
+ builder.WithCommandLine(&command_line); |
+ scoped_ptr<PrefService> prefs(builder.Create()); |
+ browser::RegisterUserPrefs(prefs.get()); |
+ EXPECT_TRUE(prefs->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ(std::string(), prefs->GetString(prefs::kProxyBypassList)); |
// Try a second time time with the managed PrefStore in place, the |
// auto-detect should be overridden. The default pref store must be |
// in place with the appropriate default value for this to work. |
- TestingPrefService prefs2(provider.get(), NULL, &command_line); |
- browser::RegisterUserPrefs(&prefs2); |
- EXPECT_FALSE(prefs2.GetBoolean(prefs::kProxyAutoDetect)); |
- EXPECT_TRUE(prefs2.GetBoolean(prefs::kNoProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyServer)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyPacUrl)); |
- EXPECT_EQ(std::string(), prefs2.GetString(prefs::kProxyBypassList)); |
+ builder.WithCommandLine(&command_line); |
+ builder.WithManagedPlatformProvider(provider.get()); |
+ scoped_ptr<PrefService> prefs2(builder.Create()); |
+ browser::RegisterUserPrefs(prefs2.get()); |
+ EXPECT_FALSE(prefs2->GetBoolean(prefs::kProxyAutoDetect)); |
+ EXPECT_TRUE(prefs2->GetBoolean(prefs::kNoProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyServer)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyPacUrl)); |
+ EXPECT_EQ(std::string(), prefs2->GetString(prefs::kProxyBypassList)); |
} |
class PrefServiceSetValueTest : public testing::Test { |