| Index: chrome/common/content_settings_pattern_unittest.cc
|
| ===================================================================
|
| --- chrome/common/content_settings_pattern_unittest.cc (revision 118265)
|
| +++ chrome/common/content_settings_pattern_unittest.cc (working copy)
|
| @@ -52,6 +52,9 @@
|
| // - A domain wildcard is added to the GURL host.
|
| // - A port wildcard is used instead of the schemes default port.
|
| // In case of non-default ports the specific GURL port is used.
|
| + // - In the case of a file URI the path is set to the GURL path, unless the
|
| + // GURL is "file:///", in which case the GURL path ("/", in this case) is
|
| + // ignored and the wildcard flag set.
|
| ContentSettingsPattern pattern = ContentSettingsPattern::FromURL(
|
| GURL("http://www.youtube.com"));
|
| EXPECT_TRUE(pattern.IsValid());
|
| @@ -84,9 +87,17 @@
|
| pattern = ContentSettingsPattern::FromURL(GURL("http://[::1]"));
|
| EXPECT_TRUE(pattern.IsValid());
|
|
|
| + GURL url("file:///foo/bar.html");
|
| pattern = ContentSettingsPattern::FromURL(GURL("file:///foo/bar.html"));
|
| EXPECT_TRUE(pattern.IsValid());
|
| - EXPECT_STREQ("file:///foo/bar.html", pattern.ToString().c_str());
|
| + EXPECT_EQ("file:///foo/bar.html", pattern.ToString());
|
| +
|
| + pattern = ContentSettingsPattern::FromURL(GURL("file:///"));
|
| + EXPECT_TRUE(pattern.IsValid());
|
| + EXPECT_TRUE(pattern.Matches(GURL("file:///")));
|
| + EXPECT_TRUE(pattern.Matches(GURL("file:///foo")));
|
| + EXPECT_TRUE(pattern.Matches(GURL("file:///foo/bar.html")));
|
| + EXPECT_EQ("file:///*", pattern.ToString());
|
| }
|
|
|
| TEST(ContentSettingsPatternTest, FromURLNoWildcard) {
|
| @@ -172,37 +183,51 @@
|
| }
|
|
|
| TEST(ContentSettingsPatternTest, FromString_FilePatterns) {
|
| + // The only valid wildcard pattern is "file:///*". (Note, however, that
|
| + // "file:///" equates to the wildcard when constructing from a URL.)
|
| + EXPECT_TRUE(Pattern("file:///*").IsValid());
|
| + EXPECT_EQ("file:///*", Pattern("file:///*").ToString());
|
| EXPECT_FALSE(Pattern("file:///").IsValid());
|
| -
|
| +
|
| // Non-empty domains aren't allowed in file patterns.
|
| EXPECT_FALSE(Pattern("file://foo/").IsValid());
|
| -
|
| - // Domain wildcards aren't allowed in file patterns.
|
| + EXPECT_FALSE(Pattern("file://localhost/foo/bar/test.html").IsValid());
|
| + EXPECT_FALSE(Pattern("file://*").IsValid());
|
| EXPECT_FALSE(Pattern("file://*/").IsValid());
|
| + EXPECT_FALSE(Pattern("file://*/*").IsValid());
|
| + EXPECT_FALSE(Pattern("file://*/foo/bar/test.html").IsValid());
|
| EXPECT_FALSE(Pattern("file://[*.]/").IsValid());
|
|
|
| - // These specify a path that contains '*', which isn't allowed to avoid
|
| - // user confusion.
|
| - EXPECT_FALSE(Pattern("file:///*").IsValid());
|
| + // Wildcards are not allowed anywhere in the file path.
|
| + EXPECT_FALSE(Pattern("file:///f*o/bar/file.html").IsValid());
|
| + EXPECT_FALSE(Pattern("file:///*/bar/file.html").IsValid());
|
| + EXPECT_FALSE(Pattern("file:///foo/*").IsValid());
|
| EXPECT_FALSE(Pattern("file:///foo/bar/*").IsValid());
|
| + EXPECT_FALSE(Pattern("file:///foo/*/file.html").IsValid());
|
| + EXPECT_FALSE(Pattern("file:///foo/bar/*.html").IsValid());
|
| + EXPECT_FALSE(Pattern("file:///foo/bar/file.*").IsValid());
|
|
|
| EXPECT_TRUE(Pattern("file:///tmp/test.html").IsValid());
|
| - EXPECT_STREQ("file:///tmp/file.html",
|
| - Pattern("file:///tmp/file.html").ToString().c_str());
|
| + EXPECT_EQ("file:///tmp/file.html",
|
| + Pattern("file:///tmp/file.html").ToString());
|
| EXPECT_TRUE(Pattern("file:///tmp/test.html").Matches(
|
| GURL("file:///tmp/test.html")));
|
| EXPECT_FALSE(Pattern("file:///tmp/test.html").Matches(
|
| GURL("file:///tmp/other.html")));
|
| EXPECT_FALSE(Pattern("file:///tmp/test.html").Matches(
|
| GURL("http://example.org/")));
|
| +
|
| + EXPECT_TRUE(Pattern("file:///*").Matches(GURL("file:///tmp/test.html")));
|
| + EXPECT_TRUE(Pattern("file:///*").Matches(
|
| + GURL("file://localhost/tmp/test.html")));
|
| }
|
|
|
| TEST(ContentSettingsPatternTest, FromString_ExtensionPatterns) {
|
| EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
|
| .IsValid());
|
| - EXPECT_STREQ("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/",
|
| + EXPECT_EQ("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/",
|
| Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
|
| - .ToString().c_str());
|
| + .ToString());
|
| EXPECT_TRUE(Pattern("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")
|
| .Matches(GURL("chrome-extension://peoadpeiejnhkmpaakpnompolbglelel/")));
|
| }
|
|
|