summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/cookies/canonical_cookie_unittest.cc57
1 files changed, 57 insertions, 0 deletions
diff --git a/net/cookies/canonical_cookie_unittest.cc b/net/cookies/canonical_cookie_unittest.cc
index d99bcb9..9951db0 100644
--- a/net/cookies/canonical_cookie_unittest.cc
+++ b/net/cookies/canonical_cookie_unittest.cc
@@ -193,4 +193,61 @@ TEST(CanonicalCookieTest, IsEquivalent) {
EXPECT_FALSE(cookie->IsEquivalent(*other_cookie));
}
+TEST(CanonicalCookieTest, IsDomainMatch) {
+ GURL url("http://www.example.com/test/foo.html");
+ base::Time creation_time = base::Time::Now();
+ CookieOptions options;
+
+ scoped_ptr<CanonicalCookie> cookie(
+ CanonicalCookie::Create(url, "A=2", creation_time, options));
+ EXPECT_TRUE(cookie->IsHostCookie());
+ EXPECT_TRUE(cookie->IsDomainMatch("http", "www.example.com"));
+ EXPECT_TRUE(cookie->IsDomainMatch("https", "www.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "foo.www.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "www0.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "example.com"));
+
+ cookie.reset(
+ CanonicalCookie::Create(url, "A=2; Domain=www.example.com", creation_time,
+ options));
+ EXPECT_TRUE(cookie->IsDomainCookie());
+ EXPECT_TRUE(cookie->IsDomainMatch("http", "www.example.com"));
+ EXPECT_TRUE(cookie->IsDomainMatch("https", "www.example.com"));
+ EXPECT_TRUE(cookie->IsDomainMatch("http", "foo.www.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "www0.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "example.com"));
+
+ cookie.reset(
+ CanonicalCookie::Create(url, "A=2; Domain=.www.example.com",
+ creation_time, options));
+ EXPECT_TRUE(cookie->IsDomainMatch("http", "www.example.com"));
+ EXPECT_TRUE(cookie->IsDomainMatch("https", "www.example.com"));
+ EXPECT_TRUE(cookie->IsDomainMatch("http", "foo.www.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "www0.example.com"));
+ EXPECT_FALSE(cookie->IsDomainMatch("http", "example.com"));
+}
+
+TEST(CanonicalCookieTest, IsOnPath) {
+ base::Time creation_time = base::Time::Now();
+ CookieOptions options;
+
+ scoped_ptr<CanonicalCookie> cookie(
+ CanonicalCookie::Create(GURL("http://www.example.com"),
+ "A=2", creation_time, options));
+ EXPECT_TRUE(cookie->IsOnPath("/"));
+ EXPECT_TRUE(cookie->IsOnPath("/test"));
+ EXPECT_TRUE(cookie->IsOnPath("/test/bar.html"));
+
+ // Test the empty string edge case.
+ EXPECT_FALSE(cookie->IsOnPath(""));
+
+ cookie.reset(
+ CanonicalCookie::Create(GURL("http://www.example.com/test/foo.html"),
+ "A=2", creation_time, options));
+ EXPECT_FALSE(cookie->IsOnPath("/"));
+ EXPECT_TRUE(cookie->IsOnPath("/test"));
+ EXPECT_TRUE(cookie->IsOnPath("/test/bar.html"));
+ EXPECT_TRUE(cookie->IsOnPath("/test/sample/bar.html"));
+}
+
} // namespace net