Index: extensions/common/url_pattern_unittest.cc |
diff --git a/extensions/common/url_pattern_unittest.cc b/extensions/common/url_pattern_unittest.cc |
index 3e0c816ac35ec2d82a15a5814ed43241b3002d87..e146d50d0213db036683a50c818aedc8983f3b94 100644 |
--- a/extensions/common/url_pattern_unittest.cc |
+++ b/extensions/common/url_pattern_unittest.cc |
@@ -18,7 +18,8 @@ static const int kAllSchemes = |
URLPattern::SCHEME_FTP | |
URLPattern::SCHEME_CHROMEUI | |
URLPattern::SCHEME_EXTENSION | |
- URLPattern::SCHEME_FILESYSTEM; |
+ URLPattern::SCHEME_FILESYSTEM| |
+ URLPattern::SCHEME_ABOUT; |
TEST(ExtensionURLPatternTest, ParseInvalid) { |
const struct { |
@@ -236,6 +237,7 @@ TEST(ExtensionURLPatternTest, Match11) { |
EXPECT_TRUE(pattern.MatchesScheme("file")); |
EXPECT_TRUE(pattern.MatchesScheme("filesystem")); |
EXPECT_TRUE(pattern.MatchesScheme("chrome-extension")); |
+ EXPECT_TRUE(pattern.MatchesScheme("about")); |
EXPECT_TRUE(pattern.match_subdomains()); |
EXPECT_TRUE(pattern.match_all_urls()); |
EXPECT_EQ("/*", pattern.path()); |
@@ -243,6 +245,7 @@ TEST(ExtensionURLPatternTest, Match11) { |
EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1"))); |
EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar"))); |
EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar"))); |
+ EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank"))); |
// Make sure the properties are the same when creating an <all_urls> pattern |
// via SetMatchAllURLs and by parsing <all_urls>. |
@@ -422,6 +425,19 @@ TEST(ExtensionURLPatternTest, Match19) { |
GURL("filesystem:chrome-extension://ftw/t/file.txt"))); |
}; |
+// about: |
+TEST(ExtensionURLPatternTest, Match20) { |
+ URLPattern pattern(URLPattern::SCHEME_ABOUT); |
+ EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("about:blank")); |
+ EXPECT_EQ("about", pattern.scheme()); |
+ EXPECT_EQ("", pattern.host()); |
+ EXPECT_FALSE(pattern.match_subdomains()); |
+ EXPECT_FALSE(pattern.match_all_urls()); |
+ EXPECT_EQ("blank", pattern.path()); |
+ EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank"))); |
+ EXPECT_FALSE(pattern.MatchesURL(GURL("about:srcdoc"))); |
+}; |
+ |
static const struct GetAsStringPatterns { |
const char* pattern; |
} kGetAsStringTestCases[] = { |
@@ -527,7 +543,7 @@ TEST(ExtensionURLPatternTest, ConvertToExplicitSchemes) { |
URLPattern::SCHEME_FTP, |
"http://google.com/monkey").ConvertToExplicitSchemes()); |
- ASSERT_EQ(7u, all_urls.size()); |
+ ASSERT_EQ(8u, all_urls.size()); |
ASSERT_EQ(2u, all_schemes.size()); |
ASSERT_EQ(1u, monkey.size()); |
@@ -536,6 +552,7 @@ TEST(ExtensionURLPatternTest, ConvertToExplicitSchemes) { |
EXPECT_EQ("file:///*", all_urls[2].GetAsString()); |
EXPECT_EQ("ftp://*/*", all_urls[3].GetAsString()); |
EXPECT_EQ("chrome://*/*", all_urls[4].GetAsString()); |
+ EXPECT_EQ("about:/*", all_urls[7].GetAsString()); |
EXPECT_EQ("http://google.com/foo", all_schemes[0].GetAsString()); |
EXPECT_EQ("https://google.com/foo", all_schemes[1].GetAsString()); |