| Index: chrome/common/extensions/url_pattern_unittest.cc
|
| diff --git a/chrome/common/extensions/url_pattern_unittest.cc b/chrome/common/extensions/url_pattern_unittest.cc
|
| index a78554f79a6046b697b23b5e2847e9ac372dbff9..578fd0a4150d32f562a13adef814a3277b7e9072 100644
|
| --- a/chrome/common/extensions/url_pattern_unittest.cc
|
| +++ b/chrome/common/extensions/url_pattern_unittest.cc
|
| @@ -35,10 +35,9 @@ TEST(ExtensionURLPatternTest, ParseInvalid) {
|
| };
|
|
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kInvalidPatterns); ++i) {
|
| - URLPattern pattern(URLPattern::SCHEME_ALL);
|
| + URLPattern pattern(URLPattern::IGNORE_PORTS, URLPattern::SCHEME_ALL);
|
| EXPECT_EQ(kInvalidPatterns[i].expected_result,
|
| - pattern.Parse(kInvalidPatterns[i].pattern,
|
| - URLPattern::IGNORE_PORTS))
|
| + pattern.Parse(kInvalidPatterns[i].pattern))
|
| << kInvalidPatterns[i].pattern;
|
| }
|
| };
|
| @@ -103,31 +102,30 @@ TEST(ExtensionURLPatternTest, Ports) {
|
| };
|
|
|
| for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTestPatterns); ++i) {
|
| - URLPattern use_ports_pattern(URLPattern::SCHEME_ALL);
|
| + URLPattern use_ports_pattern(URLPattern::USE_PORTS, URLPattern::SCHEME_ALL);
|
| // Check results with |USE_PORTS|.
|
| EXPECT_EQ(kTestPatterns[i].expected_result_use_ports,
|
| - use_ports_pattern.Parse(kTestPatterns[i].pattern,
|
| - URLPattern::USE_PORTS))
|
| + use_ports_pattern.Parse(kTestPatterns[i].pattern))
|
| << "Got unexpected result for URL pattern: "
|
| << kTestPatterns[i].pattern;
|
| EXPECT_EQ(kTestPatterns[i].expected_port, use_ports_pattern.port())
|
| << "Got unexpected port for URL pattern: " << kTestPatterns[i].pattern;
|
|
|
| - URLPattern ignore_ports_pattern(URLPattern::SCHEME_ALL);
|
| + URLPattern ignore_ports_pattern(URLPattern::IGNORE_PORTS,
|
| + URLPattern::SCHEME_ALL);
|
| // Check results with |IGNORE_PORTS|.
|
| EXPECT_EQ(kTestPatterns[i].expected_result_ignore_ports,
|
| - ignore_ports_pattern.Parse(kTestPatterns[i].pattern,
|
| - URLPattern::IGNORE_PORTS))
|
| + ignore_ports_pattern.Parse(kTestPatterns[i].pattern))
|
| << "Got unexpected result for URL pattern: "
|
| << kTestPatterns[i].pattern;
|
| EXPECT_EQ("*", ignore_ports_pattern.port())
|
| << "Got unexpected port for URL pattern: " << kTestPatterns[i].pattern;
|
|
|
| - URLPattern error_on_ports_pattern(URLPattern::SCHEME_ALL);
|
| + URLPattern error_on_ports_pattern(URLPattern::ERROR_ON_PORTS,
|
| + URLPattern::SCHEME_ALL);
|
| // Check results with |ERROR_ON_PORTS|.
|
| EXPECT_EQ(kTestPatterns[i].expected_result_error_on_ports,
|
| - error_on_ports_pattern.Parse(kTestPatterns[i].pattern,
|
| - URLPattern::ERROR_ON_PORTS))
|
| + error_on_ports_pattern.Parse(kTestPatterns[i].pattern))
|
| << "Got unexpected result for URL pattern: "
|
| << kTestPatterns[i].pattern;
|
| }
|
| @@ -135,9 +133,8 @@ TEST(ExtensionURLPatternTest, Ports) {
|
|
|
| // all pages for a given scheme
|
| TEST(ExtensionURLPatternTest, Match1) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://*/*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("http://*/*"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("", pattern.host());
|
| EXPECT_TRUE(pattern.match_subdomains());
|
| @@ -152,9 +149,8 @@ TEST(ExtensionURLPatternTest, Match1) {
|
|
|
| // all domains
|
| TEST(ExtensionURLPatternTest, Match2) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("https://*/foo*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("https://*/foo*"));
|
| EXPECT_EQ("https", pattern.scheme());
|
| EXPECT_EQ("", pattern.host());
|
| EXPECT_TRUE(pattern.match_subdomains());
|
| @@ -168,10 +164,9 @@ TEST(ExtensionURLPatternTest, Match2) {
|
|
|
| // subdomains
|
| TEST(URLPatternTest, Match3) {
|
| - URLPattern pattern(kAllSchemes);
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://*.google.com/foo*bar",
|
| - URLPattern::ERROR_ON_PORTS));
|
| + pattern.Parse("http://*.google.com/foo*bar"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("google.com", pattern.host());
|
| EXPECT_TRUE(pattern.match_subdomains());
|
| @@ -186,9 +181,8 @@ TEST(URLPatternTest, Match3) {
|
|
|
| // glob escaping
|
| TEST(ExtensionURLPatternTest, Match5) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("file:///foo?bar\\*baz", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file:///foo?bar\\*baz"));
|
| EXPECT_EQ("file", pattern.scheme());
|
| EXPECT_EQ("", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -200,9 +194,8 @@ TEST(ExtensionURLPatternTest, Match5) {
|
|
|
| // ip addresses
|
| TEST(ExtensionURLPatternTest, Match6) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://127.0.0.1/*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("http://127.0.0.1/*"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("127.0.0.1", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -213,10 +206,9 @@ TEST(ExtensionURLPatternTest, Match6) {
|
|
|
| // subdomain matching with ip addresses
|
| TEST(ExtensionURLPatternTest, Match7) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://*.0.0.1/*",
|
| - URLPattern::ERROR_ON_PORTS)); // allowed, but useless
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + // allowed, but useless
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("http://*.0.0.1/*"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("0.0.1", pattern.host());
|
| EXPECT_TRUE(pattern.match_subdomains());
|
| @@ -228,12 +220,11 @@ TEST(ExtensionURLPatternTest, Match7) {
|
|
|
| // unicode
|
| TEST(ExtensionURLPatternTest, Match8) {
|
| - URLPattern pattern(kAllSchemes);
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| // The below is the ASCII encoding of the following URL:
|
| // http://*.\xe1\x80\xbf/a\xc2\x81\xe1*
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://*.xn--gkd/a%C2%81%E1*",
|
| - URLPattern::ERROR_ON_PORTS));
|
| + pattern.Parse("http://*.xn--gkd/a%C2%81%E1*"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("xn--gkd", pattern.host());
|
| EXPECT_TRUE(pattern.match_subdomains());
|
| @@ -247,9 +238,8 @@ TEST(ExtensionURLPatternTest, Match8) {
|
|
|
| // chrome://
|
| TEST(ExtensionURLPatternTest, Match9) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("chrome://favicon/*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("chrome://favicon/*"));
|
| EXPECT_EQ("chrome", pattern.scheme());
|
| EXPECT_EQ("favicon", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -262,9 +252,8 @@ TEST(ExtensionURLPatternTest, Match9) {
|
|
|
| // *://
|
| TEST(ExtensionURLPatternTest, Match10) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("*://*/*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("*://*/*"));
|
| EXPECT_TRUE(pattern.MatchesScheme("http"));
|
| EXPECT_TRUE(pattern.MatchesScheme("https"));
|
| EXPECT_FALSE(pattern.MatchesScheme("chrome"));
|
| @@ -281,9 +270,8 @@ TEST(ExtensionURLPatternTest, Match10) {
|
|
|
| // <all_urls>
|
| TEST(ExtensionURLPatternTest, Match11) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("<all_urls>", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>"));
|
| EXPECT_TRUE(pattern.MatchesScheme("chrome"));
|
| EXPECT_TRUE(pattern.MatchesScheme("http"));
|
| EXPECT_TRUE(pattern.MatchesScheme("https"));
|
| @@ -298,7 +286,7 @@ TEST(ExtensionURLPatternTest, Match11) {
|
|
|
| // Make sure the properties are the same when creating an <all_urls> pattern
|
| // via SetMatchAllURLs and by parsing <all_urls>.
|
| - URLPattern pattern2(kAllSchemes);
|
| + URLPattern pattern2(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| pattern2.SetMatchAllURLs(true);
|
|
|
| EXPECT_EQ(pattern.valid_schemes(), pattern2.valid_schemes());
|
| @@ -312,9 +300,8 @@ TEST(ExtensionURLPatternTest, Match11) {
|
|
|
| // SCHEME_ALL matches all schemes.
|
| TEST(ExtensionURLPatternTest, Match12) {
|
| - URLPattern pattern(URLPattern::SCHEME_ALL);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("<all_urls>", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, URLPattern::SCHEME_ALL);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("<all_urls>"));
|
| EXPECT_TRUE(pattern.MatchesScheme("chrome"));
|
| EXPECT_TRUE(pattern.MatchesScheme("http"));
|
| EXPECT_TRUE(pattern.MatchesScheme("https"));
|
| @@ -352,10 +339,9 @@ static const struct MatchPatterns {
|
| // SCHEME_ALL and specific schemes.
|
| TEST(ExtensionURLPatternTest, Match13) {
|
| for (size_t i = 0; i < arraysize(kMatch13UrlPatternTestCases); ++i) {
|
| - URLPattern pattern(URLPattern::SCHEME_ALL);
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, URLPattern::SCHEME_ALL);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse(kMatch13UrlPatternTestCases[i].pattern,
|
| - URLPattern::ERROR_ON_PORTS))
|
| + pattern.Parse(kMatch13UrlPatternTestCases[i].pattern))
|
| << " while parsing " << kMatch13UrlPatternTestCases[i].pattern;
|
| EXPECT_TRUE(pattern.MatchesURL(
|
| GURL(kMatch13UrlPatternTestCases[i].matches)))
|
| @@ -363,17 +349,15 @@ TEST(ExtensionURLPatternTest, Match13) {
|
| }
|
|
|
| // Negative test.
|
| - URLPattern pattern(URLPattern::SCHEME_ALL);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("data:*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, URLPattern::SCHEME_ALL);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("data:*"));
|
| EXPECT_FALSE(pattern.MatchesURL(GURL("about:blank")));
|
| };
|
|
|
| // file scheme with empty hostname
|
| TEST(ExtensionURLPatternTest, Match14) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("file:///foo*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file:///foo*"));
|
| EXPECT_EQ("file", pattern.scheme());
|
| EXPECT_EQ("", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -388,9 +372,8 @@ TEST(ExtensionURLPatternTest, Match14) {
|
|
|
| // file scheme without hostname part
|
| TEST(ExtensionURLPatternTest, Match15) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("file://foo*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file://foo*"));
|
| EXPECT_EQ("file", pattern.scheme());
|
| EXPECT_EQ("", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -405,9 +388,8 @@ TEST(ExtensionURLPatternTest, Match15) {
|
|
|
| // file scheme with hostname
|
| TEST(ExtensionURLPatternTest, Match16) {
|
| - URLPattern pattern(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("file://localhost/foo*", URLPattern::ERROR_ON_PORTS));
|
| + URLPattern pattern(URLPattern::ERROR_ON_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("file://localhost/foo*"));
|
| EXPECT_EQ("file", pattern.scheme());
|
| // Since hostname is ignored for file://.
|
| EXPECT_EQ("", pattern.host());
|
| @@ -423,10 +405,9 @@ TEST(ExtensionURLPatternTest, Match16) {
|
|
|
| // Specific port
|
| TEST(ExtensionURLPatternTest, Match17) {
|
| - URLPattern pattern(kAllSchemes);
|
| + URLPattern pattern(URLPattern::USE_PORTS, kAllSchemes);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://www.example.com:80/foo",
|
| - URLPattern::USE_PORTS));
|
| + pattern.Parse("http://www.example.com:80/foo"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("www.example.com", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -440,10 +421,9 @@ TEST(ExtensionURLPatternTest, Match17) {
|
|
|
| // Explicit port wildcard
|
| TEST(ExtensionURLPatternTest, Match18) {
|
| - URLPattern pattern(kAllSchemes);
|
| + URLPattern pattern(URLPattern::USE_PORTS, kAllSchemes);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern.Parse("http://www.example.com:*/foo",
|
| - URLPattern::USE_PORTS));
|
| + pattern.Parse("http://www.example.com:*/foo"));
|
| EXPECT_EQ("http", pattern.scheme());
|
| EXPECT_EQ("www.example.com", pattern.host());
|
| EXPECT_FALSE(pattern.match_subdomains());
|
| @@ -475,18 +455,16 @@ static const struct GetAsStringPatterns {
|
|
|
| TEST(ExtensionURLPatternTest, GetAsString) {
|
| for (size_t i = 0; i < arraysize(kGetAsStringTestCases); ++i) {
|
| - URLPattern pattern1(URLPattern::SCHEME_ALL);
|
| + URLPattern pattern1(URLPattern::USE_PORTS, URLPattern::SCHEME_ALL);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern1.Parse(kGetAsStringTestCases[i].pattern,
|
| - URLPattern::USE_PORTS))
|
| + pattern1.Parse(kGetAsStringTestCases[i].pattern))
|
| << "Error parsing " << kGetAsStringTestCases[i].pattern;
|
| EXPECT_EQ(kGetAsStringTestCases[i].pattern,
|
| pattern1.GetAsString());
|
| - URLPattern pattern2(URLPattern::SCHEME_ALL);
|
|
|
| + URLPattern pattern2(URLPattern::IGNORE_PORTS, URLPattern::SCHEME_ALL);
|
| EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern2.Parse(kGetAsStringTestCases[i].pattern,
|
| - URLPattern::IGNORE_PORTS))
|
| + pattern2.Parse(kGetAsStringTestCases[i].pattern))
|
| << "Error parsing " << kGetAsStringTestCases[i].pattern;
|
| EXPECT_EQ(kGetAsStringTestCases[i].pattern,
|
| pattern2.GetAsString());
|
| @@ -581,12 +559,11 @@ TEST(ExtensionURLPatternTest, IgnorePorts) {
|
| std::string pattern_str = "http://www.example.com:8080/foo";
|
| GURL url("http://www.example.com:1234/foo");
|
|
|
| - URLPattern pattern1(kAllSchemes);
|
| - URLPattern pattern2(kAllSchemes);
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern1.Parse(pattern_str, URLPattern::IGNORE_PORTS));
|
| - EXPECT_EQ(URLPattern::PARSE_SUCCESS,
|
| - pattern2.Parse(pattern_str, URLPattern::USE_PORTS));
|
| + URLPattern pattern1(URLPattern::IGNORE_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern1.Parse(pattern_str));
|
| +
|
| + URLPattern pattern2(URLPattern::USE_PORTS, kAllSchemes);
|
| + EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern2.Parse(pattern_str));
|
|
|
| EXPECT_EQ(pattern_str, pattern1.GetAsString());
|
| EXPECT_EQ(pattern_str, pattern2.GetAsString());
|
| @@ -678,11 +655,11 @@ TEST(ExtensionURLPatternTest, Equals) {
|
| message += " ";
|
| message += kEqualsTestCases[i].pattern2;
|
|
|
| - URLPattern pattern1(URLPattern::SCHEME_ALL);
|
| - URLPattern pattern2(URLPattern::SCHEME_ALL);
|
| + URLPattern pattern1(URLPattern::USE_PORTS, URLPattern::SCHEME_ALL);
|
| + URLPattern pattern2(URLPattern::USE_PORTS, URLPattern::SCHEME_ALL);
|
|
|
| - pattern1.Parse(kEqualsTestCases[i].pattern1, URLPattern::USE_PORTS);
|
| - pattern2.Parse(kEqualsTestCases[i].pattern2, URLPattern::USE_PORTS);
|
| + pattern1.Parse(kEqualsTestCases[i].pattern1);
|
| + pattern2.Parse(kEqualsTestCases[i].pattern2);
|
| EXPECT_EQ(kEqualsTestCases[i].expected_equal, pattern1 == pattern2)
|
| << message;
|
| }
|
|
|