Index: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc |
diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc |
index c3a92beec65a09f152b20991ef152df6f6271a0a..a73ec01971b67958d0ab998ec7d051cbee8e2a6b 100644 |
--- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc |
+++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc |
@@ -6,11 +6,12 @@ |
#include "base/auto_reset.h" |
#include "base/command_line.h" |
-#include "chrome/browser/content_settings/stub_settings_observer.h" |
+#include "chrome/browser/content_settings/mock_settings_observer.h" |
#include "chrome/browser/prefs/browser_prefs.h" |
#include "chrome/browser/prefs/default_pref_store.h" |
#include "chrome/browser/prefs/overlay_persistent_pref_store.h" |
#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/browser/prefs/pref_service_mock_builder.h" |
#include "chrome/browser/prefs/testing_pref_store.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/pref_names.h" |
@@ -22,24 +23,7 @@ |
#include "googleurl/src/gurl.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-namespace { |
-class ContentSettingsPrefService : public PrefService { |
- public: |
- ContentSettingsPrefService(PrefStore* managed_platform_prefs, |
- PrefStore* managed_cloud_prefs, |
- PrefStore* extension_prefs, |
- PrefStore* command_line_prefs, |
- PersistentPrefStore* user_prefs, |
- PrefStore* recommended_platform_prefs, |
- PrefStore* recommended_cloud_prefs, |
- DefaultPrefStore* default_store) |
- : PrefService( |
- managed_platform_prefs, managed_cloud_prefs, extension_prefs, |
- command_line_prefs, user_prefs, recommended_platform_prefs, |
- recommended_cloud_prefs, default_store, false) {} |
- virtual ~ContentSettingsPrefService() {} |
-}; |
-} |
+using ::testing::_; |
namespace content_settings { |
@@ -76,14 +60,20 @@ TEST_F(PrefDefaultProviderTest, DefaultValues) { |
TEST_F(PrefDefaultProviderTest, Observer) { |
TestingProfile profile; |
PrefDefaultProvider provider(&profile); |
- StubSettingsObserver observer; |
- |
+ MockSettingsObserver observer; |
+ |
+ EXPECT_CALL(observer, |
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
+ CONTENT_SETTINGS_TYPE_IMAGES, false, |
+ _, true)); |
+ // Expect a second call because the PrefDefaultProvider in the TestingProfile |
+ // also observes the default content settings preference. |
+ EXPECT_CALL(observer, |
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
+ CONTENT_SETTINGS_TYPE_DEFAULT, true, |
+ _, true)); |
provider.UpdateDefaultSetting( |
CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); |
- EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier); |
- EXPECT_TRUE(observer.last_update_all); |
- EXPECT_FALSE(observer.last_update_all_types); |
- EXPECT_EQ(1, observer.counter); |
} |
TEST_F(PrefDefaultProviderTest, ObserveDefaultPref) { |
@@ -176,54 +166,44 @@ TEST_F(PrefProviderTest, Observer) { |
profile.GetHostContentSettingsMap(); |
Profile* p = &profile; |
PrefProvider pref_content_settings_provider(p); |
- StubSettingsObserver observer; |
+ MockSettingsObserver observer; |
ContentSettingsPattern pattern = |
ContentSettingsPattern::FromString("[*.]example.com"); |
+ // Expect 2 calls: One from the update and one from canonicalization. |
+ EXPECT_CALL(observer, |
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
+ CONTENT_SETTINGS_TYPE_IMAGES, false, |
+ pattern, false)); |
+ EXPECT_CALL(observer, |
+ OnContentSettingsChanged(profile.GetHostContentSettingsMap(), |
+ CONTENT_SETTINGS_TYPE_DEFAULT, true, |
+ _, true)); |
pref_content_settings_provider.SetContentSetting( |
pattern, |
pattern, |
CONTENT_SETTINGS_TYPE_IMAGES, |
"", |
CONTENT_SETTING_ALLOW); |
- EXPECT_EQ(profile.GetHostContentSettingsMap(), observer.last_notifier); |
- EXPECT_EQ(pattern, observer.last_pattern); |
- EXPECT_FALSE(observer.last_update_all); |
- EXPECT_FALSE(observer.last_update_all_types); |
- // Expect 2 calls: One from the update and one from canonicalization. |
- EXPECT_EQ(2, observer.counter); |
} |
// Test for regression in which the PrefProvider modified the user pref store |
// of the OTR unintentionally: http://crbug.com/74466. |
TEST_F(PrefProviderTest, Incognito) { |
- DefaultPrefStore* default_prefs = new DefaultPrefStore(); |
PersistentPrefStore* user_prefs = new TestingPrefStore(); |
OverlayPersistentPrefStore* otr_user_prefs = |
new OverlayPersistentPrefStore(user_prefs); |
- PrefService* regular_prefs = new ContentSettingsPrefService( |
- NULL, // managed_platform_prefs |
- NULL, // managed_cloud_prefs |
- NULL, // extension_prefs |
- NULL, // command_line_prefs |
- user_prefs, |
- NULL, // recommended_platform_prefs, |
- NULL, // recommended_cloud_prefs, |
- default_prefs); |
+ PrefServiceMockBuilder builder; |
+ PrefService* regular_prefs = builder.WithUserPrefs(user_prefs).Create(); |
Profile::RegisterUserPrefs(regular_prefs); |
browser::RegisterUserPrefs(regular_prefs); |
- PrefService* otr_prefs = new ContentSettingsPrefService( |
- NULL, // managed_platform_prefs |
- NULL, // managed_cloud_prefs |
- NULL, // extension_prefs |
- NULL, // command_line_prefs |
- otr_user_prefs, |
- NULL, // recommended_platform_prefs, |
- NULL, // recommended_cloud_prefs, |
- default_prefs); |
+ PrefService* otr_prefs = builder.WithUserPrefs(otr_user_prefs).Create(); |
+ |
+ Profile::RegisterUserPrefs(otr_prefs); |
+ browser::RegisterUserPrefs(otr_prefs); |
TestingProfile profile; |
TestingProfile* otr_profile = new TestingProfile; |