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

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: Review feedback. 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
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..351a292597762eb31433f87e2a2d5b6a44961813 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -611,6 +611,45 @@ 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);
+ extension_id_ = extension_->id();
+
+ 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);
+ ExtensionPrefs::ExtensionIdSet extension_ids;
+ prefs()->GetExtensions(&extension_ids);
+ EXPECT_EQ(1U, extension_ids.size());
+ EXPECT_EQ(extension_id_, extension_ids[0]);
+ }
+
+ private:
+ scoped_refptr<Extension> extension_;
+ std::string extension_id_;
+};
+TEST_F(ExtensionPrefsIdChange, IdChange) {}
+
class ExtensionPrefsPreferencesBase : public ExtensionPrefsTest {
public:
ExtensionPrefsPreferencesBase()
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698