Chromium Code Reviews| 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 a074d2b21fc36cc3d86298f6f4ff7e4d412ac664..9dedc680786550598796a14b73b2c3dfceb7a162 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() {} |
| @@ -26,6 +43,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); |
| }; |
| @@ -55,4 +78,45 @@ TEST_F(BrowsingDataHelperTest, ChromeSchemesAreInvalid) { |
| EXPECT_FALSE(IsValidScheme(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)); |
|
Bernhard Bauer
2012/05/31 15:57:31
You might be able to make this a bit easier to tes
Mike West
2012/06/01 13:35:17
Extensions are both protected and extensions. Book
Bernhard Bauer
2012/06/01 13:59:35
We're defining extension as "everything with a chr
Mike West
2012/06/01 14:11:53
No, you're right. Again, I successfully confused m
Bernhard Bauer
2012/06/04 09:06:43
In that case I feel obligated to point out that yo
|
| + 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_TRUE(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_TRUE(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_TRUE(Match(kOriginDevTools, kUnprotected | kProtected | kExtension, |
| + mock_policy)); |
| +} |
| + |
| } // namespace |