Index: components/content_settings/core/common/content_settings_pattern_unittest.cc |
diff --git a/components/content_settings/core/common/content_settings_pattern_unittest.cc b/components/content_settings/core/common/content_settings_pattern_unittest.cc |
index 74e601979446d3c2ef185b6f358f03d05b2ed5f6..045688b36f6f714b44b1c3bc71b2119f703caf9f 100644 |
--- a/components/content_settings/core/common/content_settings_pattern_unittest.cc |
+++ b/components/content_settings/core/common/content_settings_pattern_unittest.cc |
@@ -720,3 +720,55 @@ TEST(ContentSettingsPatternTest, CanonicalizePattern_Legacy) { |
EXPECT_STREQ("", Pattern("*\xC4\x87ira.com").ToString().c_str()); |
EXPECT_STREQ("", Pattern("\xC4\x87ira.*").ToString().c_str()); |
} |
+ |
+TEST(ContentSettingsPatternTest, IsGeneratedFromURLDomainScoped) { |
+ // These are pattern styles which might be generated from FromURL(). |
+ EXPECT_TRUE(ContentSettingsPattern::FromString("[*.]example.com") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_TRUE(ContentSettingsPattern::FromString("[*.]google.com:80") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_TRUE(ContentSettingsPattern::FromString("https://[*.]google.com") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_TRUE(ContentSettingsPattern::FromString("https://[*.]google.com:443") |
+ .IsGeneratedFromURLDomainScoped()); |
+ // These patterns either have an empty host, or have no domain wildcard, so |
+ // they can not be generated from FromURL(). |
+ EXPECT_FALSE( |
+ ContentSettingsPattern::FromString("*").IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("[*.]") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("http://*") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("http://*:8080") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("*://www.google.com:8080") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("www.example.com:8080") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("www.google.com/*") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("google") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("https://www.google.com") |
+ .IsGeneratedFromURLDomainScoped()); |
+ EXPECT_FALSE(ContentSettingsPattern::FromString("https://www.google.com:443") |
+ .IsGeneratedFromURLDomainScoped()); |
+} |
+ |
+TEST(ContentSettingsPatternTest, FromDomainToOrigin) { |
+ EXPECT_STREQ( |
+ "http://example.com:80", |
+ ContentSettingsPattern::FromDomainToOrigin(Pattern("[*.]example.com")) |
+ .ToString() |
+ .c_str()); |
+ EXPECT_STREQ( |
+ "http://example.com:80", |
+ ContentSettingsPattern::FromDomainToOrigin(Pattern("[*.]example.com:80")) |
+ .ToString() |
+ .c_str()); |
+ EXPECT_STREQ("https://example.com:443", |
+ ContentSettingsPattern::FromDomainToOrigin( |
+ Pattern("https://[*.]example.com:443")) |
+ .ToString() |
+ .c_str()); |
+} |