Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2593)

Unified Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 6677147: Handle changes in extension ID generation logic better. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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()
« chrome/browser/extensions/extension_prefs.cc ('K') | « chrome/browser/extensions/extension_prefs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698