| Index: net/cookies/parsed_cookie_unittest.cc
|
| diff --git a/net/cookies/parsed_cookie_unittest.cc b/net/cookies/parsed_cookie_unittest.cc
|
| index 30d41eb4681d894bcc587a53ed44be952bb632dc..9f231e83efbadca60aa869655f1024194f35c22b 100644
|
| --- a/net/cookies/parsed_cookie_unittest.cc
|
| +++ b/net/cookies/parsed_cookie_unittest.cc
|
| @@ -39,22 +39,26 @@ TEST(ParsedCookieTest, TestQuoted) {
|
| // Firefox 3, and Safari Windows 3.2.1. We originally tried to match
|
| // Firefox closely, however we now match Internet Explorer and Safari.
|
| const char* const values[] = {
|
| - // Trailing whitespace after a quoted value. The whitespace after
|
| - // the quote is stripped in all browsers.
|
| - "\"zzz \" ", "\"zzz \"",
|
| - // Handling a quoted value with a ';', like FOO="zz;pp" ;
|
| - // IE and Safari: "zz;
|
| - // Firefox and Opera: "zz;pp"
|
| - "\"zz;pp\" ;", "\"zz",
|
| - // Handling a value with multiple quoted parts, like FOO="zzz " "ppp" ;
|
| - // IE and Safari: "zzz " "ppp";
|
| - // Firefox: "zzz ";
|
| - // Opera: <rejects cookie>
|
| - "\"zzz \" \"ppp\" ", "\"zzz \" \"ppp\"",
|
| - // A quote in a value that didn't start quoted. like FOO=A"B ;
|
| - // IE, Safari, and Firefox: A"B;
|
| - // Opera: <rejects cookie>
|
| - "A\"B", "A\"B",
|
| + // Trailing whitespace after a quoted value. The whitespace after
|
| + // the quote is stripped in all browsers.
|
| + "\"zzz \" ",
|
| + "\"zzz \"",
|
| + // Handling a quoted value with a ';', like FOO="zz;pp" ;
|
| + // IE and Safari: "zz;
|
| + // Firefox and Opera: "zz;pp"
|
| + "\"zz;pp\" ;",
|
| + "\"zz",
|
| + // Handling a value with multiple quoted parts, like FOO="zzz " "ppp" ;
|
| + // IE and Safari: "zzz " "ppp";
|
| + // Firefox: "zzz ";
|
| + // Opera: <rejects cookie>
|
| + "\"zzz \" \"ppp\" ",
|
| + "\"zzz \" \"ppp\"",
|
| + // A quote in a value that didn't start quoted. like FOO=A"B ;
|
| + // IE, Safari, and Firefox: A"B;
|
| + // Opera: <rejects cookie>
|
| + "A\"B",
|
| + "A\"B",
|
| };
|
|
|
| for (size_t i = 0; i < arraysize(values); i += 2) {
|
| @@ -169,9 +173,10 @@ TEST(ParsedCookieTest, MultipleEquals) {
|
| }
|
|
|
| TEST(ParsedCookieTest, QuotedTrailingWhitespace) {
|
| - ParsedCookie pc("ANCUUID=\"zohNumRKgI0oxyhSsV3Z7D\" ; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| - "path=/ ; ");
|
| + ParsedCookie pc(
|
| + "ANCUUID=\"zohNumRKgI0oxyhSsV3Z7D\" ; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| + "path=/ ; ");
|
| EXPECT_TRUE(pc.IsValid());
|
| EXPECT_EQ("ANCUUID", pc.Name());
|
| // Stripping whitespace after the quotes matches all other major browsers.
|
| @@ -184,9 +189,10 @@ TEST(ParsedCookieTest, QuotedTrailingWhitespace) {
|
| }
|
|
|
| TEST(ParsedCookieTest, TrailingWhitespace) {
|
| - ParsedCookie pc("ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| - "path=/ ; ");
|
| + ParsedCookie pc(
|
| + "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| + "path=/ ; ");
|
| EXPECT_TRUE(pc.IsValid());
|
| EXPECT_EQ("ANCUUID", pc.Name());
|
| EXPECT_EQ("zohNumRKgI0oxyhSsV3Z7D", pc.Value());
|
| @@ -248,36 +254,31 @@ TEST(ParsedCookieTest, EmbeddedTerminator) {
|
| }
|
|
|
| TEST(ParsedCookieTest, ParseTokensAndValues) {
|
| - EXPECT_EQ("hello",
|
| - ParsedCookie::ParseTokenString("hello\nworld"));
|
| - EXPECT_EQ("fs!!@",
|
| - ParsedCookie::ParseTokenString("fs!!@;helloworld"));
|
| + EXPECT_EQ("hello", ParsedCookie::ParseTokenString("hello\nworld"));
|
| + EXPECT_EQ("fs!!@", ParsedCookie::ParseTokenString("fs!!@;helloworld"));
|
| EXPECT_EQ("hello world\tgood",
|
| ParsedCookie::ParseTokenString("hello world\tgood\rbye"));
|
| - EXPECT_EQ("A",
|
| - ParsedCookie::ParseTokenString("A=B=C;D=E"));
|
| - EXPECT_EQ("hello",
|
| - ParsedCookie::ParseValueString("hello\nworld"));
|
| - EXPECT_EQ("fs!!@",
|
| - ParsedCookie::ParseValueString("fs!!@;helloworld"));
|
| + EXPECT_EQ("A", ParsedCookie::ParseTokenString("A=B=C;D=E"));
|
| + EXPECT_EQ("hello", ParsedCookie::ParseValueString("hello\nworld"));
|
| + EXPECT_EQ("fs!!@", ParsedCookie::ParseValueString("fs!!@;helloworld"));
|
| EXPECT_EQ("hello world\tgood",
|
| ParsedCookie::ParseValueString("hello world\tgood\rbye"));
|
| - EXPECT_EQ("A=B=C",
|
| - ParsedCookie::ParseValueString("A=B=C;D=E"));
|
| + EXPECT_EQ("A=B=C", ParsedCookie::ParseValueString("A=B=C;D=E"));
|
| }
|
|
|
| TEST(ParsedCookieTest, SerializeCookieLine) {
|
| - const char input[] = "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| - "path=/ ; priority=low ; ";
|
| - const char output[] = "ANCUUID=zohNumRKgI0oxyhSsV3Z7D; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT; "
|
| - "path=/; priority=low";
|
| + const char input[] =
|
| + "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT ; "
|
| + "path=/ ; priority=low ; ";
|
| + const char output[] =
|
| + "ANCUUID=zohNumRKgI0oxyhSsV3Z7D; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT; "
|
| + "path=/; priority=low";
|
| ParsedCookie pc(input);
|
| EXPECT_EQ(output, pc.ToCookieLine());
|
| }
|
|
|
| -
|
| TEST(ParsedCookieTest, SetNameAndValue) {
|
| ParsedCookie empty((std::string()));
|
| EXPECT_FALSE(empty.IsValid());
|
| @@ -353,10 +354,11 @@ TEST(ParsedCookieTest, SetAttributes) {
|
| EXPECT_TRUE(pc.SetIsHttpOnly(true));
|
| EXPECT_TRUE(pc.SetIsHttpOnly(true));
|
| EXPECT_TRUE(pc.SetPriority("HIGH"));
|
| - EXPECT_EQ("name=value; domain=domain.com; path=/; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| - "httponly; priority=HIGH",
|
| - pc.ToCookieLine());
|
| + EXPECT_EQ(
|
| + "name=value; domain=domain.com; path=/; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| + "httponly; priority=HIGH",
|
| + pc.ToCookieLine());
|
| EXPECT_TRUE(pc.HasDomain());
|
| EXPECT_TRUE(pc.HasPath());
|
| EXPECT_TRUE(pc.HasExpires());
|
| @@ -372,17 +374,19 @@ TEST(ParsedCookieTest, SetAttributes) {
|
| EXPECT_TRUE(pc.HasExpires());
|
| EXPECT_TRUE(pc.IsSecure());
|
| EXPECT_TRUE(pc.IsHttpOnly());
|
| - EXPECT_EQ("name=value; domain=domain.com; path=/foo; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| - "httponly; priority=HIGH",
|
| - pc.ToCookieLine());
|
| + EXPECT_EQ(
|
| + "name=value; domain=domain.com; path=/foo; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| + "httponly; priority=HIGH",
|
| + pc.ToCookieLine());
|
|
|
| // Set priority to medium.
|
| EXPECT_TRUE(pc.SetPriority("medium"));
|
| - EXPECT_EQ("name=value; domain=domain.com; path=/foo; "
|
| - "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| - "httponly; priority=medium",
|
| - pc.ToCookieLine());
|
| + EXPECT_EQ(
|
| + "name=value; domain=domain.com; path=/foo; "
|
| + "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; "
|
| + "httponly; priority=medium",
|
| + pc.ToCookieLine());
|
|
|
| // Clear the rest and change the name and value.
|
| EXPECT_TRUE(pc.SetDomain(std::string()));
|
| @@ -439,20 +443,53 @@ TEST(ParsedCookieTest, SetPriority) {
|
|
|
| TEST(ParsedCookieTest, InvalidNonAlphanumericChars) {
|
| ParsedCookie pc1("name=\x05");
|
| - ParsedCookie pc2("name=foo" "\x1c" "bar");
|
| - ParsedCookie pc3("name=foobar" "\x11");
|
| - ParsedCookie pc4("name=\x02" "foobar");
|
| + ParsedCookie pc2(
|
| + "name=foo"
|
| + "\x1c"
|
| + "bar");
|
| + ParsedCookie pc3(
|
| + "name=foobar"
|
| + "\x11");
|
| + ParsedCookie pc4(
|
| + "name=\x02"
|
| + "foobar");
|
|
|
| ParsedCookie pc5("\x05=value");
|
| - ParsedCookie pc6("foo" "\x05" "bar=value");
|
| - ParsedCookie pc7("foobar" "\x05" "=value");
|
| - ParsedCookie pc8("\x05" "foobar" "=value");
|
| -
|
| - ParsedCookie pc9("foo" "\x05" "bar" "=foo" "\x05" "bar");
|
| -
|
| - ParsedCookie pc10("foo=bar;ba" "\x05" "z=boo");
|
| - ParsedCookie pc11("foo=bar;baz=bo" "\x05" "o");
|
| - ParsedCookie pc12("foo=bar;ba" "\05" "z=bo" "\x05" "o");
|
| + ParsedCookie pc6(
|
| + "foo"
|
| + "\x05"
|
| + "bar=value");
|
| + ParsedCookie pc7(
|
| + "foobar"
|
| + "\x05"
|
| + "=value");
|
| + ParsedCookie pc8(
|
| + "\x05"
|
| + "foobar"
|
| + "=value");
|
| +
|
| + ParsedCookie pc9(
|
| + "foo"
|
| + "\x05"
|
| + "bar"
|
| + "=foo"
|
| + "\x05"
|
| + "bar");
|
| +
|
| + ParsedCookie pc10(
|
| + "foo=bar;ba"
|
| + "\x05"
|
| + "z=boo");
|
| + ParsedCookie pc11(
|
| + "foo=bar;baz=bo"
|
| + "\x05"
|
| + "o");
|
| + ParsedCookie pc12(
|
| + "foo=bar;ba"
|
| + "\05"
|
| + "z=bo"
|
| + "\x05"
|
| + "o");
|
|
|
| EXPECT_FALSE(pc1.IsValid());
|
| EXPECT_FALSE(pc2.IsValid());
|
| @@ -505,5 +542,4 @@ TEST(ParsedCookieTest, ValidNonAlphanumericChars) {
|
| EXPECT_TRUE(pc8.IsValid());
|
| EXPECT_EQ(pc8_literal, pc8.ToCookieLine());
|
| }
|
| -
|
| }
|
|
|