Index: chrome/common/content_settings_pattern_unittest.cc |
diff --git a/chrome/common/content_settings_pattern_unittest.cc b/chrome/common/content_settings_pattern_unittest.cc |
index f56e87792c401cc2cbb844fd5150b4c3fe9c9f48..14c16aaa11ac13b7ff4a4bd02c2549a7d1817e20 100644 |
--- a/chrome/common/content_settings_pattern_unittest.cc |
+++ b/chrome/common/content_settings_pattern_unittest.cc |
@@ -4,13 +4,20 @@ |
#include "chrome/common/content_settings_pattern.h" |
+#include "chrome/common/chrome_content_settings_client.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "url/gurl.h" |
namespace { |
ContentSettingsPattern Pattern(const std::string& str) { |
- return ContentSettingsPattern::FromString(str); |
+ content_settings::ChromeContentSettingsClient client; |
+ return ContentSettingsPattern::FromString(&client, str); |
+} |
+ |
+std::string ToString(const ContentSettingsPattern& pattern) { |
+ content_settings::ChromeContentSettingsClient client; |
+ return pattern.ToString(&client); |
} |
} // namespace |
@@ -18,7 +25,7 @@ ContentSettingsPattern Pattern(const std::string& str) { |
TEST(ContentSettingsPatternTest, RealWorldPatterns) { |
// This is the place for real world patterns that unveiled bugs. |
EXPECT_STREQ("[*.]ikea.com", |
- Pattern("[*.]ikea.com").ToString().c_str()); |
+ ToString(Pattern("[*.]ikea.com")).c_str()); |
} |
TEST(ContentSettingsPatternTest, GURL) { |
@@ -55,7 +62,7 @@ TEST(ContentSettingsPatternTest, FromURL) { |
ContentSettingsPattern pattern = ContentSettingsPattern::FromURL( |
GURL("http://www.youtube.com")); |
EXPECT_TRUE(pattern.IsValid()); |
- EXPECT_STREQ("[*.]www.youtube.com", pattern.ToString().c_str()); |
+ EXPECT_STREQ("[*.]www.youtube.com", ToString(pattern).c_str()); |
// Patterns created from a URL. |
pattern = ContentSettingsPattern::FromURL(GURL("http://www.google.com")); |
@@ -80,14 +87,14 @@ TEST(ContentSettingsPatternTest, FromURL) { |
pattern = ContentSettingsPattern::FromURL(GURL("https://127.0.0.1")); |
EXPECT_TRUE(pattern.IsValid()); |
- EXPECT_STREQ("https://127.0.0.1:443", pattern.ToString().c_str()); |
+ EXPECT_STREQ("https://127.0.0.1:443", ToString(pattern).c_str()); |
pattern = ContentSettingsPattern::FromURL(GURL("http://[::1]")); |
EXPECT_TRUE(pattern.IsValid()); |
pattern = ContentSettingsPattern::FromURL(GURL("file:///foo/bar.html")); |
EXPECT_TRUE(pattern.IsValid()); |
- EXPECT_EQ("file:///foo/bar.html", pattern.ToString()); |
+ EXPECT_EQ("file:///foo/bar.html", ToString(pattern)); |
} |
TEST(ContentSettingsPatternTest, FilesystemUrls) { |
@@ -118,7 +125,7 @@ TEST(ContentSettingsPatternTest, FilesystemUrls) { |
GURL("filesystem:https://www.google.com/temporary/")); |
EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2)); |
- EXPECT_STREQ("https://[*.]www.google.com:443", pattern2.ToString().c_str()); |
+ EXPECT_STREQ("https://[*.]www.google.com:443", ToString(pattern2).c_str()); |
pattern = |
ContentSettingsPattern::FromURL( |
@@ -145,7 +152,7 @@ TEST(ContentSettingsPatternTest, FromURLNoWildcard) { |
ContentSettingsPattern pattern = ContentSettingsPattern::FromURLNoWildcard( |
GURL("http://www.example.com")); |
EXPECT_TRUE(pattern.IsValid()); |
- EXPECT_STREQ("http://www.example.com:80", pattern.ToString().c_str()); |
+ EXPECT_STREQ("http://www.example.com:80", ToString(pattern).c_str()); |
EXPECT_TRUE(pattern.Matches(GURL("http://www.example.com"))); |
EXPECT_FALSE(pattern.Matches(GURL("https://www.example.com"))); |
EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com"))); |
@@ -153,7 +160,7 @@ TEST(ContentSettingsPatternTest, FromURLNoWildcard) { |
pattern = ContentSettingsPattern::FromURLNoWildcard( |
GURL("https://www.example.com")); |
EXPECT_TRUE(pattern.IsValid()); |
- EXPECT_STREQ("https://www.example.com:443", pattern.ToString().c_str()); |
+ EXPECT_STREQ("https://www.example.com:443", ToString(pattern).c_str()); |
EXPECT_FALSE(pattern.Matches(GURL("http://www.example.com"))); |
EXPECT_TRUE(pattern.Matches(GURL("https://www.example.com"))); |
EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com"))); |
@@ -187,7 +194,7 @@ TEST(ContentSettingsPatternTest, Wildcard) { |
EXPECT_TRUE(ContentSettingsPattern::Wildcard().Matches( |
GURL("file:///foo/bar.txt"))); |
- EXPECT_STREQ("*", ContentSettingsPattern::Wildcard().ToString().c_str()); |
+ EXPECT_STREQ("*", ToString(ContentSettingsPattern::Wildcard()).c_str()); |
EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
ContentSettingsPattern::Wildcard().Compare( |
@@ -203,32 +210,32 @@ TEST(ContentSettingsPatternTest, TrimEndingDotFromHost) { |
EXPECT_TRUE(Pattern("www.example.com.").IsValid()); |
EXPECT_STREQ("www.example.com", |
- Pattern("www.example.com.").ToString().c_str()); |
+ ToString(Pattern("www.example.com.")).c_str()); |
EXPECT_TRUE(Pattern("www.example.com.") == Pattern("www.example.com")); |
EXPECT_TRUE(Pattern(".").IsValid()); |
- EXPECT_STREQ(".", Pattern(".").ToString().c_str()); |
+ EXPECT_STREQ(".", ToString(Pattern(".")).c_str()); |
} |
TEST(ContentSettingsPatternTest, FromString_WithNoWildcards) { |
// HTTP patterns with default port. |
EXPECT_TRUE(Pattern("http://www.example.com:80").IsValid()); |
EXPECT_STREQ("http://www.example.com:80", |
- Pattern("http://www.example.com:80").ToString().c_str()); |
+ ToString(Pattern("http://www.example.com:80")).c_str()); |
// HTTP patterns with none default port. |
EXPECT_TRUE(Pattern("http://www.example.com:81").IsValid()); |
EXPECT_STREQ("http://www.example.com:81", |
- Pattern("http://www.example.com:81").ToString().c_str()); |
+ ToString(Pattern("http://www.example.com:81")).c_str()); |
// HTTPS patterns with default port. |
EXPECT_TRUE(Pattern("https://www.example.com:443").IsValid()); |
EXPECT_STREQ("https://www.example.com:443", |
- Pattern("https://www.example.com:443").ToString().c_str()); |
+ ToString(Pattern("https://www.example.com:443")).c_str()); |
// HTTPS patterns with none default port. |
EXPECT_TRUE(Pattern("https://www.example.com:8080").IsValid()); |
EXPECT_STREQ("https://www.example.com:8080", |
- Pattern("https://www.example.com:8080").ToString().c_str()); |
+ ToString(Pattern("https://www.example.com:8080")).c_str()); |
} |
TEST(ContentSettingsPatternTest, FromString_FilePatterns) { |
@@ -246,7 +253,7 @@ TEST(ContentSettingsPatternTest, FromString_FilePatterns) { |
// This is the only valid file path wildcard format. |
EXPECT_TRUE(Pattern("file:///*").IsValid()); |
- EXPECT_EQ("file:///*", Pattern("file:///*").ToString()); |
+ EXPECT_EQ("file:///*", ToString(Pattern("file:///*"))); |
// Wildcards are not allowed anywhere in the file path. |
EXPECT_FALSE(Pattern("file:///f*o/bar/file.html").IsValid()); |
@@ -259,7 +266,7 @@ TEST(ContentSettingsPatternTest, FromString_FilePatterns) { |
EXPECT_TRUE(Pattern("file:///tmp/test.html").IsValid()); |
EXPECT_EQ("file:///tmp/file.html", |
- Pattern("file:///tmp/file.html").ToString()); |
+ ToString(Pattern("file:///tmp/file.html"))); |
EXPECT_TRUE(Pattern("file:///tmp/test.html").Matches( |
GURL("file:///tmp/test.html"))); |
EXPECT_FALSE(Pattern("file:///tmp/test.html").Matches( |
@@ -276,8 +283,8 @@ TEST(ContentSettingsPatternTest, FromString_ExtensionPatterns) { |
EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/") |
.IsValid()); |
EXPECT_EQ("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/", |
- Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/") |
- .ToString()); |
+ ToString(Pattern( |
+ "chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/"))); |
EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/") |
.Matches(GURL("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/"))); |
} |
@@ -285,20 +292,20 @@ TEST(ContentSettingsPatternTest, FromString_ExtensionPatterns) { |
TEST(ContentSettingsPatternTest, FromString_WithIPAdresses) { |
// IPv4 |
EXPECT_TRUE(Pattern("192.168.0.1").IsValid()); |
- EXPECT_STREQ("192.168.1.1", Pattern("192.168.1.1").ToString().c_str()); |
+ EXPECT_STREQ("192.168.1.1", ToString(Pattern("192.168.1.1")).c_str()); |
EXPECT_TRUE(Pattern("https://192.168.0.1:8080").IsValid()); |
EXPECT_STREQ("https://192.168.0.1:8080", |
- Pattern("https://192.168.0.1:8080").ToString().c_str()); |
+ ToString(Pattern("https://192.168.0.1:8080")).c_str()); |
// Subdomain wildcards should be only valid for hosts, not for IP addresses. |
EXPECT_FALSE(Pattern("[*.]127.0.0.1").IsValid()); |
// IPv6 |
EXPECT_TRUE(Pattern("[::1]").IsValid()); |
- EXPECT_STREQ("[::1]", Pattern("[::1]").ToString().c_str()); |
+ EXPECT_STREQ("[::1]", ToString(Pattern("[::1]")).c_str()); |
EXPECT_TRUE(Pattern("https://[::1]:8080").IsValid()); |
EXPECT_STREQ("https://[::1]:8080", |
- Pattern("https://[::1]:8080").ToString().c_str()); |
+ ToString(Pattern("https://[::1]:8080")).c_str()); |
} |
TEST(ContentSettingsPatternTest, FromString_WithWildcards) { |
@@ -307,22 +314,22 @@ TEST(ContentSettingsPatternTest, FromString_WithWildcards) { |
// The wildcard pattern. |
EXPECT_TRUE(Pattern("*").IsValid()); |
- EXPECT_STREQ("*", Pattern("*").ToString().c_str()); |
+ EXPECT_STREQ("*", ToString(Pattern("*")).c_str()); |
EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
Pattern("*").Compare(ContentSettingsPattern::Wildcard())); |
// Patterns with port wildcard. |
EXPECT_TRUE(Pattern("http://example.com:*").IsValid()); |
EXPECT_STREQ("http://example.com", |
- Pattern("http://example.com:*").ToString().c_str()); |
+ ToString(Pattern("http://example.com:*")).c_str()); |
EXPECT_TRUE(Pattern("https://example.com").IsValid()); |
EXPECT_STREQ("https://example.com", |
- Pattern("https://example.com").ToString().c_str()); |
+ ToString(Pattern("https://example.com")).c_str()); |
EXPECT_TRUE(Pattern("*://www.google.com.com:8080").IsValid()); |
EXPECT_STREQ("www.google.com:8080", |
- Pattern("*://www.google.com:8080").ToString().c_str()); |
+ ToString(Pattern("*://www.google.com:8080")).c_str()); |
EXPECT_TRUE(Pattern("*://www.google.com:8080").Matches( |
GURL("http://www.google.com:8080"))); |
EXPECT_TRUE(Pattern("*://www.google.com:8080").Matches( |
@@ -335,19 +342,19 @@ TEST(ContentSettingsPatternTest, FromString_WithWildcards) { |
// Patterns with port and scheme wildcard. |
EXPECT_TRUE(Pattern("*://www.example.com:*").IsValid()); |
EXPECT_STREQ("www.example.com", |
- Pattern("*://www.example.com:*").ToString().c_str()); |
+ ToString(Pattern("*://www.example.com:*")).c_str()); |
EXPECT_TRUE(Pattern("*://www.example.com").IsValid()); |
EXPECT_STREQ("www.example.com", |
- Pattern("*://www.example.com").ToString().c_str()); |
+ ToString(Pattern("*://www.example.com")).c_str()); |
EXPECT_TRUE(Pattern("www.example.com:*").IsValid()); |
EXPECT_STREQ("www.example.com", |
- Pattern("www.example.com:*").ToString().c_str()); |
+ ToString(Pattern("www.example.com:*")).c_str()); |
EXPECT_TRUE(Pattern("www.example.com").IsValid()); |
EXPECT_STREQ("www.example.com", |
- Pattern("www.example.com").ToString().c_str()); |
+ ToString(Pattern("www.example.com")).c_str()); |
EXPECT_TRUE(Pattern("www.example.com").Matches( |
GURL("http://www.example.com/"))); |
EXPECT_FALSE(Pattern("example.com").Matches( |
@@ -356,7 +363,7 @@ TEST(ContentSettingsPatternTest, FromString_WithWildcards) { |
// Patterns with domain wildcard. |
EXPECT_TRUE(Pattern("[*.]example.com").IsValid()); |
EXPECT_STREQ("[*.]example.com", |
- Pattern("[*.]example.com").ToString().c_str()); |
+ ToString(Pattern("[*.]example.com")).c_str()); |
EXPECT_TRUE(Pattern("[*.]example.com").Matches( |
GURL("http://example.com/"))); |
EXPECT_TRUE(Pattern("[*.]example.com").Matches( |
@@ -390,66 +397,66 @@ TEST(ContentSettingsPatternTest, FromString_WithWildcards) { |
EXPECT_TRUE(Pattern("[*.]").IsValid()); |
EXPECT_TRUE(Pattern("http://*").IsValid()); |
EXPECT_TRUE(Pattern("http://[*.]").IsValid()); |
- EXPECT_EQ(std::string("http://*"), Pattern("http://[*.]").ToString()); |
+ EXPECT_EQ(std::string("http://*"), ToString(Pattern("http://[*.]"))); |
EXPECT_TRUE(Pattern("http://*:8080").IsValid()); |
EXPECT_TRUE(Pattern("*://*").IsValid()); |
- EXPECT_STREQ("*", Pattern("*://*").ToString().c_str()); |
+ EXPECT_STREQ("*", ToString(Pattern("*://*")).c_str()); |
} |
TEST(ContentSettingsPatternTest, FromString_Canonicalized) { |
// UTF-8 patterns. |
EXPECT_TRUE(Pattern("[*.]\xC4\x87ira.com").IsValid()); |
EXPECT_STREQ("[*.]xn--ira-ppa.com", |
- Pattern("[*.]\xC4\x87ira.com").ToString().c_str()); |
+ ToString(Pattern("[*.]\xC4\x87ira.com")).c_str()); |
EXPECT_TRUE(Pattern("\xC4\x87ira.com").IsValid()); |
EXPECT_STREQ("xn--ira-ppa.com", |
- Pattern("\xC4\x87ira.com").ToString().c_str()); |
+ ToString(Pattern("\xC4\x87ira.com")).c_str()); |
EXPECT_TRUE(Pattern("file:///\xC4\x87ira.html").IsValid()); |
EXPECT_STREQ("file:///%C4%87ira.html", |
- Pattern("file:///\xC4\x87ira.html").ToString().c_str()); |
+ ToString(Pattern("file:///\xC4\x87ira.html")).c_str()); |
// File path normalization. |
EXPECT_TRUE(Pattern("file:///tmp/bar/../test.html").IsValid()); |
EXPECT_STREQ("file:///tmp/test.html", |
- Pattern("file:///tmp/bar/../test.html").ToString().c_str()); |
+ ToString(Pattern("file:///tmp/bar/../test.html")).c_str()); |
} |
TEST(ContentSettingsPatternTest, InvalidPatterns) { |
// StubObserver expects an empty pattern top be returned as empty string. |
EXPECT_FALSE(ContentSettingsPattern().IsValid()); |
- EXPECT_STREQ("", ContentSettingsPattern().ToString().c_str()); |
+ EXPECT_STREQ("", ToString(ContentSettingsPattern()).c_str()); |
// Empty pattern string |
EXPECT_FALSE(Pattern(std::string()).IsValid()); |
- EXPECT_STREQ("", Pattern(std::string()).ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern(std::string())).c_str()); |
// Pattern strings with invalid scheme part. |
EXPECT_FALSE(Pattern("ftp://myhost.org").IsValid()); |
- EXPECT_STREQ("", Pattern("ftp://myhost.org").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("ftp://myhost.org")).c_str()); |
// Pattern strings with invalid host part. |
EXPECT_FALSE(Pattern("*example.com").IsValid()); |
- EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("*example.com")).c_str()); |
EXPECT_FALSE(Pattern("example.*").IsValid()); |
- EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("example.*")).c_str()); |
EXPECT_FALSE(Pattern("*\xC4\x87ira.com").IsValid()); |
- EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("*\xC4\x87ira.com")).c_str()); |
EXPECT_FALSE(Pattern("\xC4\x87ira.*").IsValid()); |
- EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("\xC4\x87ira.*")).c_str()); |
// Pattern strings with invalid port parts. |
EXPECT_FALSE(Pattern("example.com:abc").IsValid()); |
- EXPECT_STREQ("", Pattern("example.com:abc").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("example.com:abc")).c_str()); |
// Invalid file pattern strings. |
EXPECT_FALSE(Pattern("file://").IsValid()); |
- EXPECT_STREQ("", Pattern("file://").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("file://")).c_str()); |
EXPECT_FALSE(Pattern("file:///foo/bar.html:8080").IsValid()); |
- EXPECT_STREQ("", Pattern("file:///foo/bar.html:8080").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("file:///foo/bar.html:8080")).c_str()); |
// Host having multiple ending dots. |
EXPECT_FALSE(Pattern("www.example.com..").IsValid()); |
- EXPECT_STREQ("", Pattern("www.example.com..").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("www.example.com..")).c_str()); |
} |
TEST(ContentSettingsPatternTest, UnequalOperator) { |
@@ -481,8 +488,7 @@ TEST(ContentSettingsPatternTest, Compare) { |
Pattern("*://[*.]google.com:*"))); |
ContentSettingsPattern invalid_pattern1; |
- ContentSettingsPattern invalid_pattern2 = |
- ContentSettingsPattern::FromString("google.com*"); |
+ ContentSettingsPattern invalid_pattern2 = Pattern("google.com*"); |
// Compare invalid patterns. |
EXPECT_TRUE(!invalid_pattern1.IsValid()); |
@@ -645,28 +651,28 @@ TEST(ContentSettingsPatternTest, PatternSupport_Legacy) { |
TEST(ContentSettingsPatternTest, CanonicalizePattern_Legacy) { |
// Basic patterns. |
- EXPECT_STREQ("[*.]ikea.com", Pattern("[*.]ikea.com").ToString().c_str()); |
- EXPECT_STREQ("example.com", Pattern("example.com").ToString().c_str()); |
- EXPECT_STREQ("192.168.1.1", Pattern("192.168.1.1").ToString().c_str()); |
- EXPECT_STREQ("[::1]", Pattern("[::1]").ToString().c_str()); |
+ EXPECT_STREQ("[*.]ikea.com", ToString(Pattern("[*.]ikea.com")).c_str()); |
+ EXPECT_STREQ("example.com", ToString(Pattern("example.com")).c_str()); |
+ EXPECT_STREQ("192.168.1.1", ToString(Pattern("192.168.1.1")).c_str()); |
+ EXPECT_STREQ("[::1]", ToString(Pattern("[::1]")).c_str()); |
EXPECT_STREQ("file:///tmp/file.html", |
- Pattern("file:///tmp/file.html").ToString().c_str()); |
+ ToString(Pattern("file:///tmp/file.html")).c_str()); |
// UTF-8 patterns. |
EXPECT_STREQ("[*.]xn--ira-ppa.com", |
- Pattern("[*.]\xC4\x87ira.com").ToString().c_str()); |
+ ToString(Pattern("[*.]\xC4\x87ira.com")).c_str()); |
EXPECT_STREQ("xn--ira-ppa.com", |
- Pattern("\xC4\x87ira.com").ToString().c_str()); |
+ ToString(Pattern("\xC4\x87ira.com")).c_str()); |
EXPECT_STREQ("file:///%C4%87ira.html", |
- Pattern("file:///\xC4\x87ira.html").ToString().c_str()); |
+ ToString(Pattern("file:///\xC4\x87ira.html")).c_str()); |
// file:/// normalization. |
EXPECT_STREQ("file:///tmp/test.html", |
- Pattern("file:///tmp/bar/../test.html").ToString().c_str()); |
+ ToString(Pattern("file:///tmp/bar/../test.html")).c_str()); |
// Invalid patterns. |
- EXPECT_STREQ("", Pattern("*example.com").ToString().c_str()); |
- EXPECT_STREQ("", Pattern("example.*").ToString().c_str()); |
- EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); |
- EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("*example.com")).c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("example.*")).c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("*\xC4\x87ira.com")).c_str()); |
+ EXPECT_STREQ("", ToString(Pattern("\xC4\x87ira.*")).c_str()); |
} |