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

Unified Diff: chrome/browser/browsing_data_helper_unittest.cc

Issue 10413072: Teaching BrowsingDataRemover how to delete application data. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Bernhard #2. Created 8 years, 7 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/browsing_data_helper_unittest.cc
diff --git a/chrome/browser/browsing_data_helper_unittest.cc b/chrome/browser/browsing_data_helper_unittest.cc
index 68ce6bd192edb066b899fb8cb38b98f9102db050..6273cdc513ffb8b6f775538b77a8076dabfd2127 100644
--- a/chrome/browser/browsing_data_helper_unittest.cc
+++ b/chrome/browser/browsing_data_helper_unittest.cc
@@ -5,14 +5,31 @@
#include "chrome/browser/browsing_data_helper.h"
#include "base/stringprintf.h"
+#include "chrome/browser/extensions/mock_extension_special_storage_policy.h"
#include "chrome/common/url_constants.h"
#include "content/public/common/url_constants.h"
-#include "testing/gtest/include/gtest/gtest.h"
#include "googleurl/src/gurl.h"
+#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
namespace {
+const char kTestOrigin1[] = "http://host1:1/";
+const char kTestOrigin2[] = "http://host2:1/";
+const char kTestOrigin3[] = "http://host3:1/";
+const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/";
+const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/";
+
+const GURL kOrigin1(kTestOrigin1);
+const GURL kOrigin2(kTestOrigin2);
+const GURL kOrigin3(kTestOrigin3);
+const GURL kOriginExt(kTestOriginExt);
+const GURL kOriginDevTools(kTestOriginDevTools);
+
+const int kExtension = BrowsingDataHelper::EXTENSION;
+const int kProtected = BrowsingDataHelper::PROTECTED_WEB;
+const int kUnprotected = BrowsingDataHelper::UNPROTECTED_WEB;
+
class BrowsingDataHelperTest : public testing::Test {
public:
BrowsingDataHelperTest() {}
@@ -34,6 +51,12 @@ class BrowsingDataHelperTest : public testing::Test {
WebKit::WebString::fromUTF8(scheme)));
}
+ bool Match(const GURL& origin,
+ int mask,
+ ExtensionSpecialStoragePolicy* policy) {
+ return BrowsingDataHelper::DoesOriginMatchMask(origin, mask, policy);
+ }
+
private:
DISALLOW_COPY_AND_ASSIGN(BrowsingDataHelperTest);
};
@@ -87,4 +110,45 @@ TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotAllExtension) {
EXPECT_FALSE(IsExtensionScheme(chrome::kViewSourceScheme));
}
+TEST_F(BrowsingDataHelperTest, TestMatches) {
+ scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
+ new MockExtensionSpecialStoragePolicy;
+ // Protect kOrigin1.
+ mock_policy->AddProtected(kOrigin1.GetOrigin());
+
+ EXPECT_FALSE(Match(kOrigin1, kUnprotected, mock_policy));
+ EXPECT_TRUE(Match(kOrigin2, kUnprotected, mock_policy));
+ EXPECT_FALSE(Match(kOriginExt, kUnprotected, mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kUnprotected, mock_policy));
+
+ EXPECT_TRUE(Match(kOrigin1, kProtected, mock_policy));
+ EXPECT_FALSE(Match(kOrigin2, kProtected, mock_policy));
+ EXPECT_FALSE(Match(kOriginExt, kProtected, mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kProtected, mock_policy));
+
+ EXPECT_FALSE(Match(kOrigin1, kExtension, mock_policy));
+ EXPECT_FALSE(Match(kOrigin2, kExtension, mock_policy));
+ EXPECT_TRUE(Match(kOriginExt, kExtension, mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kExtension, mock_policy));
+
+ EXPECT_TRUE(Match(kOrigin1, kUnprotected | kProtected, mock_policy));
+ EXPECT_TRUE(Match(kOrigin2, kUnprotected | kProtected, mock_policy));
+ EXPECT_FALSE(Match(kOriginExt, kUnprotected | kProtected, mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kUnprotected | kProtected, mock_policy));
+
+ EXPECT_TRUE(Match(kOrigin1, kProtected | kExtension, mock_policy));
+ EXPECT_FALSE(Match(kOrigin2, kProtected | kExtension, mock_policy));
+ EXPECT_TRUE(Match(kOriginExt, kProtected | kExtension, mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kProtected | kExtension, mock_policy));
+
+ EXPECT_TRUE(Match(kOrigin1, kUnprotected | kProtected | kExtension,
+ mock_policy));
+ EXPECT_TRUE(Match(kOrigin2, kUnprotected | kProtected | kExtension,
+ mock_policy));
+ EXPECT_TRUE(Match(kOriginExt, kUnprotected | kProtected | kExtension,
+ mock_policy));
+ EXPECT_FALSE(Match(kOriginDevTools, kUnprotected | kProtected | kExtension,
+ mock_policy));
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698