Chromium Code Reviews| Index: chrome/browser/extensions/extension_prefs_unittest.cc |
| diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc |
| index f386957fca8133a02ede2c5b724324908367e983..59abf7c05d77173699d6858e7d0b7f3705f0f03e 100644 |
| --- a/chrome/browser/extensions/extension_prefs_unittest.cc |
| +++ b/chrome/browser/extensions/extension_prefs_unittest.cc |
| @@ -709,6 +709,16 @@ class ExtensionPrefsPreferencesBase : public ExtensionPrefsTest { |
| kIncognitoPersistent, val); |
| } |
| + void InstallExtControlledPrefIncognitoSessionOnly( |
| + Extension *ext, |
| + const std::string& key, |
| + Value* val) { |
| + using namespace extension_prefs_scope; |
| + EnsureExtensionInstalled(ext); |
| + prefs()->SetExtensionControlledPref(ext->id(), key, |
| + kIncognitoSessionOnly, val); |
| + } |
| + |
| void InstallExtension(Extension *ext) { |
| EnsureExtensionInstalled(ext); |
| } |
| @@ -767,7 +777,7 @@ class ExtensionPrefsInstallOneExtension |
| TEST_F(ExtensionPrefsInstallOneExtension, ExtensionPrefsInstallOneExtension) {} |
| // Check that we do not forget persistent incognito values after a reload. |
| -class ExtensionPrefsInstallIncognito |
| +class ExtensionPrefsInstallIncognitoPers |
|
Matt Perry
2011/05/24 22:07:17
don't abbreviate Persistent
battre
2011/05/25 11:51:30
Done.
|
| : public ExtensionPrefsPreferencesBase { |
| public: |
| virtual void Initialize() { |
| @@ -788,7 +798,41 @@ class ExtensionPrefsInstallIncognito |
| EXPECT_EQ("val2", actual); |
| } |
| }; |
| -TEST_F(ExtensionPrefsInstallIncognito, ExtensionPrefsInstallOneExtension) {} |
| +TEST_F(ExtensionPrefsInstallIncognitoPers, ExtensionPrefsInstallOneExtension) {} |
| + |
| +// Check that we forget session only incognito values after a reload. |
| +class ExtensionPrefsInstallIncognitoSess |
| + : public ExtensionPrefsPreferencesBase { |
| + public: |
| + ExtensionPrefsInstallIncognitoSess() : iteration_(0) {} |
| + |
| + virtual void Initialize() { |
| + InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1")); |
| + InstallExtControlledPrefIncognitoSessionOnly( |
| + ext1_, kPref1, Value::CreateStringValue("val2")); |
| + scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + std::string actual = incog_prefs->GetString(kPref1); |
| + EXPECT_EQ("val2", actual); |
| + } |
| + virtual void Verify() { |
| + // Main pref service shall see only non-incognito settings. |
| + std::string actual = prefs()->pref_service()->GetString(kPref1); |
| + EXPECT_EQ("val1", actual); |
| + // Incognito pref service shall see session-only incognito values only |
| + // during first run. Once the pref service was reloaded, all values shall be |
| + // discarded. |
| + scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); |
| + actual = incog_prefs->GetString(kPref1); |
| + if (iteration_ == 0) { |
| + EXPECT_EQ("val2", actual); |
| + } else { |
| + EXPECT_EQ("val1", actual); |
| + } |
| + ++iteration_; |
| + } |
| + int iteration_; |
| +}; |
| +TEST_F(ExtensionPrefsInstallIncognitoSess, ExtensionPrefsInstallOneExtension) {} |
| class ExtensionPrefsUninstallExtension |
| : public ExtensionPrefsPreferencesBase { |
| @@ -852,7 +896,7 @@ class ExtensionPrefsNotifyWhenNeeded |
| Mock::VerifyAndClearExpectations(&observer); |
| Mock::VerifyAndClearExpectations(&incognito_observer); |
| - // Change only incognito value. |
| + // Change only incognito persistent value. |
| EXPECT_CALL(observer, Observe(_, _, _)).Times(0); |
| EXPECT_CALL(incognito_observer, Observe(_, _, _)); |
| InstallExtControlledPrefIncognito(ext1_, kPref1, |
| @@ -860,6 +904,14 @@ class ExtensionPrefsNotifyWhenNeeded |
| Mock::VerifyAndClearExpectations(&observer); |
| Mock::VerifyAndClearExpectations(&incognito_observer); |
| + // Change only incognito session-only value. |
| + EXPECT_CALL(observer, Observe(_, _, _)).Times(0); |
| + EXPECT_CALL(incognito_observer, Observe(_, _, _)); |
| + InstallExtControlledPrefIncognito(ext1_, kPref1, |
| + Value::CreateStringValue("chrome://newtab3")); |
| + Mock::VerifyAndClearExpectations(&observer); |
| + Mock::VerifyAndClearExpectations(&incognito_observer); |
| + |
| // Uninstall. |
| EXPECT_CALL(observer, Observe(_, _, _)); |
| EXPECT_CALL(incognito_observer, Observe(_, _, _)); |