Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Unified Diff: net/cookies/canonical_cookie_unittest.cc

Issue 1000103002: Add a method to override all the cookies in CookieMonster (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/cookies/canonical_cookie_unittest.cc
diff --git a/net/cookies/canonical_cookie_unittest.cc b/net/cookies/canonical_cookie_unittest.cc
index 78af2e07a76d1fcfa703bc7a75239ca162d46924..fc0d45374cd89b4c05cb754873555a9e8d327d31 100644
--- a/net/cookies/canonical_cookie_unittest.cc
+++ b/net/cookies/canonical_cookie_unittest.cc
@@ -407,4 +407,67 @@ TEST(CanonicalCookieTest, IncludeFirstPartyForFirstPartyURL) {
EXPECT_FALSE(cookie->IncludeForRequestURL(secure_url, options));
}
+TEST(CanonicalCookieTest, PartialCompare) {
+ GURL url("http://www.example.com");
+ base::Time creation_time = base::Time::Now();
+ CookieOptions options;
+ scoped_ptr<CanonicalCookie> cookie(
+ CanonicalCookie::Create(url, "a=b", creation_time, options));
+ scoped_ptr<CanonicalCookie> cookie_different_path(
+ CanonicalCookie::Create(url, "a=b; path=/foo", creation_time, options));
+ scoped_ptr<CanonicalCookie> cookie_different_value(
+ CanonicalCookie::Create(url, "a=c", creation_time, options));
+
+ // Cookie is equivalent to itself.
+ EXPECT_FALSE(cookie->PartialCompare(*cookie));
+
+ // Changing the path affects the ordering.
+ EXPECT_TRUE(cookie->PartialCompare(*cookie_different_path));
+ EXPECT_FALSE(cookie_different_path->PartialCompare(*cookie));
+
+ // Changing the value does not affect the ordering.
+ EXPECT_FALSE(cookie->PartialCompare(*cookie_different_value));
+ EXPECT_FALSE(cookie_different_value->PartialCompare(*cookie));
+
+ // Cookies identical for PartialCompare() are equivalent.
+ EXPECT_TRUE(cookie->IsEquivalent(*cookie_different_value));
+ EXPECT_TRUE(cookie->IsEquivalent(*cookie));
+}
+
+TEST(CanonicalCookieTest, FullCompare) {
+ GURL url("http://www.example.com");
+ base::Time creation_time = base::Time::Now();
+ CookieOptions options;
+ scoped_ptr<CanonicalCookie> cookie(
+ CanonicalCookie::Create(url, "a=b", creation_time, options));
+ scoped_ptr<CanonicalCookie> cookie_different_path(
+ CanonicalCookie::Create(url, "a=b; path=/foo", creation_time, options));
+ scoped_ptr<CanonicalCookie> cookie_different_value(
+ CanonicalCookie::Create(url, "a=c", creation_time, options));
+
+ // Cookie is equivalent to itself.
+ EXPECT_FALSE(cookie->FullCompare(*cookie));
+
+ // Changing the path affects the ordering.
+ EXPECT_TRUE(cookie->FullCompare(*cookie_different_path));
+ EXPECT_FALSE(cookie_different_path->FullCompare(*cookie));
+
+ // Changing the value affects the ordering.
+ EXPECT_TRUE(cookie->FullCompare(*cookie_different_value));
+ EXPECT_FALSE(cookie_different_value->FullCompare(*cookie));
+
+ // FullCompare() implies PartialCompare().
+ auto check_consistency =
+ [](const CanonicalCookie& a, const CanonicalCookie& b) {
+ if (a.FullCompare(b))
+ EXPECT_FALSE(b.PartialCompare(a));
+ else if (b.FullCompare(a))
+ EXPECT_FALSE(a.PartialCompare(b));
+ };
+
+ check_consistency(*cookie, *cookie_different_path);
+ check_consistency(*cookie, *cookie_different_value);
+ check_consistency(*cookie_different_path, *cookie_different_value);
+}
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698