Chromium Code Reviews| 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 f0eeca56b1f8b581ed6647f0deb38474a391953a..bd793382e87cc3a6c8019962622f52605084be16 100644 |
| --- a/chrome/common/content_settings_pattern_unittest.cc |
| +++ b/chrome/common/content_settings_pattern_unittest.cc |
| @@ -73,6 +73,7 @@ TEST(ContentSettingsPatternTest, FromURL) { |
| pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com:443")); |
| EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com"))); |
| + EXPECT_TRUE(pattern.Matches(GURL("https://foo.www.google.com"))); |
| EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com:443"))); |
| EXPECT_FALSE(pattern.Matches(GURL("https://www.google.com:444"))); |
| EXPECT_FALSE(pattern.Matches(GURL("http://www.google.com:443"))); |
| @@ -89,6 +90,49 @@ TEST(ContentSettingsPatternTest, FromURL) { |
| EXPECT_EQ("file:///foo/bar.html", pattern.ToString()); |
| } |
| +TEST(ContentSettingsPatternTest, FilesystemUrls) { |
| + ContentSettingsPattern pattern = |
| + ContentSettingsPattern::FromURL(GURL("http://www.google.com")); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:http://www.google.com/temporary/"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:http://foo.www.google.com/temporary/"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:http://www.google.com:80/temporary/"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:http://www.google.com:81/temporary/"))); |
| + |
| + pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com")); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:https://www.google.com/temporary/"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:https://www.google.com:443/temporary/"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:https://foo.www.google.com/temporary/"))); |
| + EXPECT_FALSE(pattern.Matches( |
| + GURL("filesystem:https://www.google.com:81/temporary/"))); |
| + |
| + // A pattern from a filesystem URLs is equivalent to a pattern from the inner |
| + // URL of the filesystem URL. |
| + ContentSettingsPattern pattern2 = ContentSettingsPattern::FromURL( |
| + 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()); |
| + |
| + pattern = |
| + ContentSettingsPattern::FromURL( |
| + GURL("filesystem:file:///temporary/foo/bar")); |
| + EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/"))); |
| + EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/test.txt"))); |
| + EXPECT_TRUE(pattern.Matches(GURL("file:///temporary"))); |
|
markusheintz_
2012/02/16 09:55:37
That means a content settings pattern for "filesys
ericu
2012/02/22 00:00:51
Yes, they're different files. What do we want to
markusheintz_
2012/02/28 23:20:09
Unfortunalty we still support path for file conten
|
| + EXPECT_FALSE(pattern.Matches(GURL("file://foo/bar"))); |
| + pattern2 = |
| + ContentSettingsPattern::FromURL( |
| + GURL("filesystem:file:///persistent/foo2/bar2")); |
| + EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2)); |
| +} |
| + |
| TEST(ContentSettingsPatternTest, FromURLNoWildcard) { |
| // If no port is specifed GURLs always use the default port for the schemes |
| // HTTP and HTTPS. Hence a GURL always carries a port specification either |
| @@ -114,8 +158,21 @@ TEST(ContentSettingsPatternTest, FromURLNoWildcard) { |
| EXPECT_TRUE(pattern.Matches(GURL("https://www.example.com"))); |
| EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com"))); |
| - pattern = ContentSettingsPattern::FromURLNoWildcard( |
| - GURL("https://www.example.com")); |
| + // Pattern for filesystem URLs |
| + pattern = |
| + ContentSettingsPattern::FromURLNoWildcard( |
| + GURL("filesystem:http://www.google.com/temporary/")); |
| + EXPECT_TRUE(pattern.IsValid()); |
| + EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com"))); |
| + EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.google.com"))); |
| + EXPECT_TRUE(pattern.Matches( |
| + GURL("filesystem:http://www.google.com/persistent/"))); |
| + EXPECT_FALSE(pattern.Matches( |
| + GURL("filesystem:https://www.google.com/persistent/"))); |
| + EXPECT_FALSE(pattern.Matches( |
| + GURL("filesystem:https://www.google.com:81/temporary/"))); |
| + EXPECT_FALSE(pattern.Matches( |
| + GURL("filesystem:https://foo.www.google.com/temporary/"))); |
| } |
| TEST(ContentSettingsPatternTest, Wildcard) { |