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 5098e775153643dd6b9b4a1745efafc3d9667e6a..b2bb12a3a5ac6845bffa09b141783d8a463e14d1 100644 |
--- a/chrome/browser/extensions/extension_prefs_unittest.cc |
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc |
@@ -321,6 +321,54 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest { |
}; |
TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {} |
+// Tests the SetActivePermissions / GetActivePermissions functions. |
+class ExtensionPrefsActivePermissions : public ExtensionPrefsTest { |
+ public: |
+ virtual void Initialize() { |
+ extension_id_ = prefs_.AddExtensionAndReturnId("test"); |
+ |
+ ExtensionAPIPermissionSet api_perms; |
+ api_perms.insert(ExtensionAPIPermission::kTab); |
+ api_perms.insert(ExtensionAPIPermission::kBookmark); |
+ api_perms.insert(ExtensionAPIPermission::kHistory); |
+ |
+ URLPatternSet ehosts; |
+ AddPattern(&ehosts, "http://*.google.com/*"); |
+ AddPattern(&ehosts, "http://example.com/*"); |
+ AddPattern(&ehosts, "chrome://favicon/*"); |
+ |
+ URLPatternSet shosts; |
+ AddPattern(&shosts, "https://*.google.com/*"); |
+ AddPattern(&shosts, "http://reddit.com/r/test/*"); |
+ |
+ active_perms_.reset(new ExtensionPermissionSet(api_perms, ehosts, shosts)); |
+ |
+ // Make sure the active permissions start empty. |
+ scoped_ptr<ExtensionPermissionSet> active( |
+ prefs()->GetActivePermissions(extension_id_)); |
+ EXPECT_TRUE(active->IsEmpty()); |
+ |
+ // Set the active permissions. |
+ prefs()->SetActivePermissions(extension_id_, active_perms_.get()); |
+ active.reset(prefs()->GetActivePermissions(extension_id_)); |
+ EXPECT_EQ(active_perms_->apis(), active->apis()); |
+ EXPECT_EQ(active_perms_->explicit_hosts(), active->explicit_hosts()); |
+ EXPECT_EQ(active_perms_->scriptable_hosts(), active->scriptable_hosts()); |
+ EXPECT_EQ(*active_perms_, *active); |
+ } |
+ |
+ virtual void Verify() { |
+ scoped_ptr<ExtensionPermissionSet> permissions( |
+ prefs()->GetActivePermissions(extension_id_)); |
+ EXPECT_EQ(*active_perms_, *permissions); |
+ } |
+ |
+ private: |
+ std::string extension_id_; |
+ scoped_ptr<ExtensionPermissionSet> active_perms_; |
+}; |
+TEST_F(ExtensionPrefsActivePermissions, SetAndGetActivePermissions) {} |
+ |
// Tests the GetVersionString function. |
class ExtensionPrefsVersionString : public ExtensionPrefsTest { |
public: |