Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1154)

Unified Diff: chrome/common/content_settings_pattern_unittest.cc

Issue 7811006: Add full support for filesystem URLs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged out; haven't built yet. Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 254df1766a9f8ead65de116598256bf779a0f483..18554bebb730007dc99ba86d7a225adf1d479564 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,42 @@ TEST(ContentSettingsPatternTest, FromURL) {
EXPECT_STREQ("file:///foo/bar.html", pattern.ToString().c_str());
}
+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 patterns 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());
+
+ // TODO(markusheintz): This is how it is supposed to work.
+ pattern =
+ ContentSettingsPattern::FromURL(
+ GURL("filesystem:file:///temporary/foo/bar"));
+ EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/")));
+ EXPECT_TRUE(pattern.Matches(GURL("file:///temporary")));
+ //EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/test.txt")));
+ //EXPECT_TRUE(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 +151,17 @@ 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) {

Powered by Google App Engine
This is Rietveld 408576698