Index: chrome/browser/content_settings/content_settings_pattern_unittest.cc |
diff --git a/chrome/browser/content_settings/content_settings_pattern_unittest.cc b/chrome/browser/content_settings/content_settings_pattern_unittest.cc |
index 11bef1e925a250f71b3c967d2a43178c3fa06371..6cfd3edce75dbe6c947cefc4bb7627b1bd6f578c 100644 |
--- a/chrome/browser/content_settings/content_settings_pattern_unittest.cc |
+++ b/chrome/browser/content_settings/content_settings_pattern_unittest.cc |
@@ -372,31 +372,76 @@ TEST(ContentSettingsPatternTest, Compare) { |
EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
Pattern("*://[*.]google.com:*").Compare( |
Pattern("*://[*.]google.com:*"))); |
+ |
+ ContentSettingsPattern invalid_pattern1 = ContentSettingsPattern(); |
+ ContentSettingsPattern invalid_pattern2 = Pattern("www.google.com*"); |
- // Test disjoint patterns. |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ // Compare invalid patterns. |
+ EXPECT_TRUE(!invalid_pattern1.IsValid()); |
+ EXPECT_TRUE(!invalid_pattern2.IsValid()); |
+ EXPECT_EQ(ContentSettingsPattern::IDENTITY, |
+ invalid_pattern1.Compare(invalid_pattern2)); |
+ EXPECT_TRUE(invalid_pattern1 == invalid_pattern2); |
+ |
+ EXPECT_TRUE(invalid_pattern1 != pattern1); |
+ EXPECT_TRUE(pattern1 != invalid_pattern2); |
+ |
+ // Compare a pattern with an IPv4 addresse to a pattern with a domain name. |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
+ Pattern("http://www.google.com").Compare( |
+ Pattern("127.0.0.1"))); |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
+ Pattern("127.0.0.1").Compare( |
+ Pattern("http://www.google.com"))); |
+ EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("http://www.google.com")); |
+ EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("127.0.0.1")); |
+ |
+ // Compare a pattern with an IPv6 address to a patterns with a domain name. |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
+ Pattern("http://www.google.com").Compare( |
+ Pattern("[::1]"))); |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
+ Pattern("[::1]").Compare( |
+ Pattern("http://www.google.com"))); |
+ EXPECT_TRUE(Pattern("[::1]") > Pattern("http://www.google.com")); |
+ EXPECT_TRUE(Pattern("http://www.google.com") < Pattern("[::1]")); |
+ |
+ // Compare a pattern with an IPv6 addresse to a pattern with an IPv4 addresse. |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
+ Pattern("127.0.0.1").Compare( |
+ Pattern("[::1]"))); |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
+ Pattern("[::1]").Compare( |
+ Pattern("127.0.0.1"))); |
+ EXPECT_TRUE(Pattern("[::1]") < Pattern("127.0.0.1")); |
+ EXPECT_TRUE(Pattern("127.0.0.1") > Pattern("[::1]")); |
+ |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("http://www.google.com").Compare( |
Pattern("http://www.youtube.com"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_TRUE(Pattern("http://www.google.com") != |
+ Pattern("http://www.youtube.com")); |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("http://[*.]google.com").Compare( |
Pattern("http://[*.]youtube.com"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
Pattern("http://[*.]host.com").Compare( |
Pattern("http://[*.]evilhost.com"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_POST, |
Pattern("*://www.google.com:80").Compare( |
Pattern("*://www.google.com:8080"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("https://www.google.com:80").Compare( |
Pattern("http://www.google.com:80"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("http://[*.]google.com:90").Compare( |
Pattern("http://mail.google.com:80"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("https://[*.]google.com:80").Compare( |
Pattern("http://mail.google.com:80"))); |
- EXPECT_EQ(ContentSettingsPattern::DISJOINT, |
+ EXPECT_EQ(ContentSettingsPattern::DISJOINT_ORDER_PRE, |
Pattern("https://mail.google.com:*").Compare( |
Pattern("http://mail.google.com:80"))); |