From 0fae3befcd250051300f1794cd4265dcc84606c8 Mon Sep 17 00:00:00 2001 From: "markusheintz@chromium.org" Date: Thu, 29 Nov 2012 17:32:51 +0000 Subject: Add unittests to test the "IsOnPath" and "IsDomainMatch methods of the class CannonicalCookie. BUG=161767 Review URL: https://chromiumcodereview.appspot.com/11414203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170215 0039d316-1c4b-4281-b951-d872f2087c98 --- net/cookies/canonical_cookie_unittest.cc | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'net') 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 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 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 -- cgit v1.1