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 551146b03cceb53dff2b6dea175014084066d17f..76b6a79cc2573f345e2933a4cce7402d9cd9d9b1 100644 |
| --- a/chrome/browser/extensions/extension_prefs_unittest.cc |
| +++ b/chrome/browser/extensions/extension_prefs_unittest.cc |
| @@ -611,6 +611,41 @@ TEST_F(ExtensionPrefsAppDraggedByUser, ExtensionPrefsAppDraggedByUser) {} |
| namespace keys = extension_manifest_keys; |
| +// Tests that we gracefully handle changes in the ID generation function for |
| +// unpacked extensions. |
| +class ExtensionPrefsIdChange : public ExtensionPrefsTest { |
| + public: |
| + virtual void Initialize() { |
| + DictionaryValue manifest; |
| + manifest.SetString(keys::kVersion, "1.0.0.0"); |
| + manifest.SetString(keys::kName, "unused"); |
| + |
| + extension_ = prefs_.AddExtensionWithManifest( |
| + manifest, Extension::LOAD); |
| + |
| + fprintf(stderr, "generated extension id: %s\n", extension_->id().c_str()); |
|
asargent_no_longer_on_chrome
2011/04/04 23:46:15
nit: remove this debugging output, or switch to us
Mihai Parparita -not on Chrome
2011/04/05 00:22:47
Oops, removed.
|
| + |
| + DictionaryValue* extensions_dict = |
| + prefs()->pref_service()->GetMutableDictionary( |
| + ExtensionPrefs::kExtensionsPref); |
| + |
| + Value* extension_prefs; |
| + EXPECT_TRUE(extensions_dict->RemoveWithoutPathExpansion( |
| + extension_->id(), &extension_prefs)); |
| + extensions_dict->SetWithoutPathExpansion( |
| + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", extension_prefs); |
| + } |
| + |
| + virtual void Verify() { |
| + prefs_.RecreateExtensionPrefs(); |
| + prefs()->SetExtensionState(extension_.get(), Extension::DISABLED); |
|
asargent_no_longer_on_chrome
2011/04/04 23:46:15
maybe add a check here that you get back the exten
Mihai Parparita -not on Chrome
2011/04/05 00:22:47
Added a check using ExtensionPrefs::GetExtensions
|
| + } |
| + |
| + private: |
| + scoped_refptr<Extension> extension_; |
| +}; |
| +TEST_F(ExtensionPrefsIdChange, IdChange) {} |
| + |
| class ExtensionPrefsPreferencesBase : public ExtensionPrefsTest { |
| public: |
| ExtensionPrefsPreferencesBase() |