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

Unified Diff: net/cookies/parsed_cookie_unittest.cc

Issue 1868493002: Ignore cookies with invalid 'SameSite' attribute values. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rename Created 4 years, 8 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
« no previous file with comments | « net/cookies/parsed_cookie.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cookies/parsed_cookie_unittest.cc
diff --git a/net/cookies/parsed_cookie_unittest.cc b/net/cookies/parsed_cookie_unittest.cc
index 0a3048ec3e0f8f31cb25e9192237cda11f7181c4..27efb99adfcea226c2a12a378b89feda74a7c408 100644
--- a/net/cookies/parsed_cookie_unittest.cc
+++ b/net/cookies/parsed_cookie_unittest.cc
@@ -460,27 +460,43 @@ TEST(ParsedCookieTest, SetSameSite) {
EXPECT_TRUE(pc.SetSameSite("strict"));
EXPECT_EQ("name=value; samesite=strict", pc.ToCookieLine());
EXPECT_EQ(CookieSameSite::STRICT_MODE, pc.SameSite());
+ EXPECT_TRUE(pc.IsValid());
EXPECT_TRUE(pc.SetSameSite("lAx"));
EXPECT_EQ("name=value; samesite=lAx", pc.ToCookieLine());
EXPECT_EQ(CookieSameSite::LAX_MODE, pc.SameSite());
+ EXPECT_TRUE(pc.IsValid());
EXPECT_TRUE(pc.SetSameSite("LAX"));
EXPECT_EQ("name=value; samesite=LAX", pc.ToCookieLine());
EXPECT_EQ(CookieSameSite::LAX_MODE, pc.SameSite());
-
- // Interpret invalid priority values as CookieSameSite::DEFAULT_MODE.
- EXPECT_TRUE(pc.SetSameSite("Blah"));
- EXPECT_EQ("name=value; samesite=Blah", pc.ToCookieLine());
- EXPECT_EQ(CookieSameSite::DEFAULT_MODE, pc.SameSite());
-
- EXPECT_TRUE(pc.SetSameSite("lowerest"));
- EXPECT_EQ("name=value; samesite=lowerest", pc.ToCookieLine());
- EXPECT_EQ(CookieSameSite::DEFAULT_MODE, pc.SameSite());
+ EXPECT_TRUE(pc.IsValid());
EXPECT_TRUE(pc.SetSameSite(""));
EXPECT_EQ("name=value", pc.ToCookieLine());
EXPECT_EQ(CookieSameSite::DEFAULT_MODE, pc.SameSite());
+ EXPECT_TRUE(pc.IsValid());
+
+ EXPECT_TRUE(pc.SetSameSite("Blah"));
+ EXPECT_FALSE(pc.IsValid());
+}
+
+TEST(ParsedCookieTest, InvalidSameSiteValue) {
+ struct TestCase {
+ const char* cookie;
+ bool valid;
+ CookieSameSite mode;
+ } cases[]{{"n=v; samesite=strict", true, CookieSameSite::STRICT_MODE},
+ {"n=v; samesite=lax", true, CookieSameSite::LAX_MODE},
+ {"n=v; samesite=boo", false, CookieSameSite::DEFAULT_MODE},
+ {"n=v; samesite", false, CookieSameSite::DEFAULT_MODE}};
+
+ for (const auto& test : cases) {
+ SCOPED_TRACE(test.cookie);
+ ParsedCookie pc(test.cookie);
+ EXPECT_EQ(test.valid, pc.IsValid());
+ EXPECT_EQ(test.mode, pc.SameSite());
+ }
}
TEST(ParsedCookieTest, InvalidNonAlphanumericChars) {
« no previous file with comments | « net/cookies/parsed_cookie.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698