summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_prefs_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_prefs_unittest.cc')
-rw-r--r--chrome/browser/extensions/extension_prefs_unittest.cc80
1 files changed, 79 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 9ddedbd..49e450c 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -246,7 +246,6 @@ class ExtensionPrefsExtensionState : public ExtensionPrefsTest {
};
TEST_F(ExtensionPrefsExtensionState, ExtensionState) {}
-
class ExtensionPrefsEscalatePermissions : public ExtensionPrefsTest {
public:
virtual void Initialize() {
@@ -1189,4 +1188,83 @@ class ExtensionPrefsDisableExtensions : public ExtensionPrefsPrepopulatedTest {
};
TEST_F(ExtensionPrefsDisableExtensions, ExtensionPrefsDisableExtensions) {}
+// Tests that blacklist state can be queried.
+class ExtensionPrefsBlacklistedExtensions : public ExtensionPrefsTest {
+ public:
+ virtual ~ExtensionPrefsBlacklistedExtensions() {}
+
+ virtual void Initialize() OVERRIDE {
+ extension_a_ = prefs_.AddExtension("a");
+ extension_b_ = prefs_.AddExtension("b");
+ extension_c_ = prefs_.AddExtension("c");
+ }
+
+ virtual void Verify() OVERRIDE {
+ {
+ std::set<std::string> ids;
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ prefs()->SetExtensionBlacklisted(extension_a_->id(), true);
+ {
+ std::set<std::string> ids;
+ ids.insert(extension_a_->id());
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ prefs()->SetExtensionBlacklisted(extension_b_->id(), true);
+ prefs()->SetExtensionBlacklisted(extension_c_->id(), true);
+ {
+ std::set<std::string> ids;
+ ids.insert(extension_a_->id());
+ ids.insert(extension_b_->id());
+ ids.insert(extension_c_->id());
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ prefs()->SetExtensionBlacklisted(extension_a_->id(), false);
+ {
+ std::set<std::string> ids;
+ ids.insert(extension_b_->id());
+ ids.insert(extension_c_->id());
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ prefs()->SetExtensionBlacklisted(extension_b_->id(), false);
+ prefs()->SetExtensionBlacklisted(extension_c_->id(), false);
+ {
+ std::set<std::string> ids;
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+
+ // The interesting part: make sure that we're cleaning up after ourselves
+ // when we're storing *just* the fact that the extension is blacklisted.
+ std::string arbitrary_id = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+
+ prefs()->SetExtensionBlacklisted(arbitrary_id, true);
+ prefs()->SetExtensionBlacklisted(extension_a_->id(), true);
+
+ // (And make sure that the acknowledged bit is also cleared).
+ prefs()->AcknowledgeBlacklistedExtension(arbitrary_id);
+
+ EXPECT_TRUE(prefs()->GetExtensionPref(arbitrary_id));
+ {
+ std::set<std::string> ids;
+ ids.insert(arbitrary_id);
+ ids.insert(extension_a_->id());
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ prefs()->SetExtensionBlacklisted(arbitrary_id, false);
+ prefs()->SetExtensionBlacklisted(extension_a_->id(), false);
+ EXPECT_FALSE(prefs()->GetExtensionPref(arbitrary_id));
+ {
+ std::set<std::string> ids;
+ EXPECT_EQ(ids, prefs()->GetBlacklistedExtensions());
+ }
+ }
+
+ private:
+ scoped_refptr<const Extension> extension_a_;
+ scoped_refptr<const Extension> extension_b_;
+ scoped_refptr<const Extension> extension_c_;
+};
+TEST_F(ExtensionPrefsBlacklistedExtensions,
+ ExtensionPrefsBlacklistedExtensions) {}
+
} // namespace extensions