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() |