OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "net/cookies/cookie_constants.h" | 7 #include "net/cookies/cookie_constants.h" |
8 #include "net/cookies/parsed_cookie.h" | 8 #include "net/cookies/parsed_cookie.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 ParsedCookie pc6("; path=/; secure;"); | 32 ParsedCookie pc6("; path=/; secure;"); |
33 EXPECT_FALSE(pc6.IsValid()); | 33 EXPECT_FALSE(pc6.IsValid()); |
34 } | 34 } |
35 | 35 |
36 TEST(ParsedCookieTest, TestQuoted) { | 36 TEST(ParsedCookieTest, TestQuoted) { |
37 // These are some quoting cases which the major browsers all | 37 // These are some quoting cases which the major browsers all |
38 // handle differently. I've tested Internet Explorer 6, Opera 9.6, | 38 // handle differently. I've tested Internet Explorer 6, Opera 9.6, |
39 // Firefox 3, and Safari Windows 3.2.1. We originally tried to match | 39 // Firefox 3, and Safari Windows 3.2.1. We originally tried to match |
40 // Firefox closely, however we now match Internet Explorer and Safari. | 40 // Firefox closely, however we now match Internet Explorer and Safari. |
41 const char* const values[] = { | 41 const char* const values[] = { |
42 // Trailing whitespace after a quoted value. The whitespace after | 42 // Trailing whitespace after a quoted value. The whitespace after |
43 // the quote is stripped in all browsers. | 43 // the quote is stripped in all browsers. |
44 "\"zzz \" ", "\"zzz \"", | 44 "\"zzz \" ", |
45 // Handling a quoted value with a ';', like FOO="zz;pp" ; | 45 "\"zzz \"", |
46 // IE and Safari: "zz; | 46 // Handling a quoted value with a ';', like FOO="zz;pp" ; |
47 // Firefox and Opera: "zz;pp" | 47 // IE and Safari: "zz; |
48 "\"zz;pp\" ;", "\"zz", | 48 // Firefox and Opera: "zz;pp" |
49 // Handling a value with multiple quoted parts, like FOO="zzz " "ppp" ; | 49 "\"zz;pp\" ;", |
50 // IE and Safari: "zzz " "ppp"; | 50 "\"zz", |
51 // Firefox: "zzz "; | 51 // Handling a value with multiple quoted parts, like FOO="zzz " "ppp" ; |
52 // Opera: <rejects cookie> | 52 // IE and Safari: "zzz " "ppp"; |
53 "\"zzz \" \"ppp\" ", "\"zzz \" \"ppp\"", | 53 // Firefox: "zzz "; |
54 // A quote in a value that didn't start quoted. like FOO=A"B ; | 54 // Opera: <rejects cookie> |
55 // IE, Safari, and Firefox: A"B; | 55 "\"zzz \" \"ppp\" ", |
56 // Opera: <rejects cookie> | 56 "\"zzz \" \"ppp\"", |
57 "A\"B", "A\"B", | 57 // A quote in a value that didn't start quoted. like FOO=A"B ; |
| 58 // IE, Safari, and Firefox: A"B; |
| 59 // Opera: <rejects cookie> |
| 60 "A\"B", |
| 61 "A\"B", |
58 }; | 62 }; |
59 | 63 |
60 for (size_t i = 0; i < arraysize(values); i += 2) { | 64 for (size_t i = 0; i < arraysize(values); i += 2) { |
61 std::string input(values[i]); | 65 std::string input(values[i]); |
62 std::string expected(values[i + 1]); | 66 std::string expected(values[i + 1]); |
63 | 67 |
64 ParsedCookie pc("aBc=" + input + " ; path=\"/\" ; httponly "); | 68 ParsedCookie pc("aBc=" + input + " ; path=\"/\" ; httponly "); |
65 EXPECT_TRUE(pc.IsValid()); | 69 EXPECT_TRUE(pc.IsValid()); |
66 EXPECT_FALSE(pc.IsSecure()); | 70 EXPECT_FALSE(pc.IsSecure()); |
67 EXPECT_TRUE(pc.IsHttpOnly()); | 71 EXPECT_TRUE(pc.IsHttpOnly()); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 EXPECT_EQ("== BC", pc.Value()); | 166 EXPECT_EQ("== BC", pc.Value()); |
163 EXPECT_FALSE(pc.HasPath()); | 167 EXPECT_FALSE(pc.HasPath()); |
164 EXPECT_FALSE(pc.HasDomain()); | 168 EXPECT_FALSE(pc.HasDomain()); |
165 EXPECT_TRUE(pc.IsSecure()); | 169 EXPECT_TRUE(pc.IsSecure()); |
166 EXPECT_TRUE(pc.IsHttpOnly()); | 170 EXPECT_TRUE(pc.IsHttpOnly()); |
167 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); | 171 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); |
168 EXPECT_EQ(4U, pc.NumberOfAttributes()); | 172 EXPECT_EQ(4U, pc.NumberOfAttributes()); |
169 } | 173 } |
170 | 174 |
171 TEST(ParsedCookieTest, QuotedTrailingWhitespace) { | 175 TEST(ParsedCookieTest, QuotedTrailingWhitespace) { |
172 ParsedCookie pc("ANCUUID=\"zohNumRKgI0oxyhSsV3Z7D\" ; " | 176 ParsedCookie pc( |
173 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " | 177 "ANCUUID=\"zohNumRKgI0oxyhSsV3Z7D\" ; " |
174 "path=/ ; "); | 178 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " |
| 179 "path=/ ; "); |
175 EXPECT_TRUE(pc.IsValid()); | 180 EXPECT_TRUE(pc.IsValid()); |
176 EXPECT_EQ("ANCUUID", pc.Name()); | 181 EXPECT_EQ("ANCUUID", pc.Name()); |
177 // Stripping whitespace after the quotes matches all other major browsers. | 182 // Stripping whitespace after the quotes matches all other major browsers. |
178 EXPECT_EQ("\"zohNumRKgI0oxyhSsV3Z7D\"", pc.Value()); | 183 EXPECT_EQ("\"zohNumRKgI0oxyhSsV3Z7D\"", pc.Value()); |
179 EXPECT_TRUE(pc.HasExpires()); | 184 EXPECT_TRUE(pc.HasExpires()); |
180 EXPECT_TRUE(pc.HasPath()); | 185 EXPECT_TRUE(pc.HasPath()); |
181 EXPECT_EQ("/", pc.Path()); | 186 EXPECT_EQ("/", pc.Path()); |
182 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); | 187 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); |
183 EXPECT_EQ(2U, pc.NumberOfAttributes()); | 188 EXPECT_EQ(2U, pc.NumberOfAttributes()); |
184 } | 189 } |
185 | 190 |
186 TEST(ParsedCookieTest, TrailingWhitespace) { | 191 TEST(ParsedCookieTest, TrailingWhitespace) { |
187 ParsedCookie pc("ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; " | 192 ParsedCookie pc( |
188 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " | 193 "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; " |
189 "path=/ ; "); | 194 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " |
| 195 "path=/ ; "); |
190 EXPECT_TRUE(pc.IsValid()); | 196 EXPECT_TRUE(pc.IsValid()); |
191 EXPECT_EQ("ANCUUID", pc.Name()); | 197 EXPECT_EQ("ANCUUID", pc.Name()); |
192 EXPECT_EQ("zohNumRKgI0oxyhSsV3Z7D", pc.Value()); | 198 EXPECT_EQ("zohNumRKgI0oxyhSsV3Z7D", pc.Value()); |
193 EXPECT_TRUE(pc.HasExpires()); | 199 EXPECT_TRUE(pc.HasExpires()); |
194 EXPECT_TRUE(pc.HasPath()); | 200 EXPECT_TRUE(pc.HasPath()); |
195 EXPECT_EQ("/", pc.Path()); | 201 EXPECT_EQ("/", pc.Path()); |
196 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); | 202 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); |
197 EXPECT_EQ(2U, pc.NumberOfAttributes()); | 203 EXPECT_EQ(2U, pc.NumberOfAttributes()); |
198 } | 204 } |
199 | 205 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 EXPECT_EQ("BB", pc1.Value()); | 247 EXPECT_EQ("BB", pc1.Value()); |
242 EXPECT_TRUE(pc2.IsValid()); | 248 EXPECT_TRUE(pc2.IsValid()); |
243 EXPECT_EQ("AAA", pc2.Name()); | 249 EXPECT_EQ("AAA", pc2.Name()); |
244 EXPECT_EQ("BB", pc2.Value()); | 250 EXPECT_EQ("BB", pc2.Value()); |
245 EXPECT_TRUE(pc3.IsValid()); | 251 EXPECT_TRUE(pc3.IsValid()); |
246 EXPECT_EQ("AAA", pc3.Name()); | 252 EXPECT_EQ("AAA", pc3.Name()); |
247 EXPECT_EQ("BB", pc3.Value()); | 253 EXPECT_EQ("BB", pc3.Value()); |
248 } | 254 } |
249 | 255 |
250 TEST(ParsedCookieTest, ParseTokensAndValues) { | 256 TEST(ParsedCookieTest, ParseTokensAndValues) { |
251 EXPECT_EQ("hello", | 257 EXPECT_EQ("hello", ParsedCookie::ParseTokenString("hello\nworld")); |
252 ParsedCookie::ParseTokenString("hello\nworld")); | 258 EXPECT_EQ("fs!!@", ParsedCookie::ParseTokenString("fs!!@;helloworld")); |
253 EXPECT_EQ("fs!!@", | |
254 ParsedCookie::ParseTokenString("fs!!@;helloworld")); | |
255 EXPECT_EQ("hello world\tgood", | 259 EXPECT_EQ("hello world\tgood", |
256 ParsedCookie::ParseTokenString("hello world\tgood\rbye")); | 260 ParsedCookie::ParseTokenString("hello world\tgood\rbye")); |
257 EXPECT_EQ("A", | 261 EXPECT_EQ("A", ParsedCookie::ParseTokenString("A=B=C;D=E")); |
258 ParsedCookie::ParseTokenString("A=B=C;D=E")); | 262 EXPECT_EQ("hello", ParsedCookie::ParseValueString("hello\nworld")); |
259 EXPECT_EQ("hello", | 263 EXPECT_EQ("fs!!@", ParsedCookie::ParseValueString("fs!!@;helloworld")); |
260 ParsedCookie::ParseValueString("hello\nworld")); | |
261 EXPECT_EQ("fs!!@", | |
262 ParsedCookie::ParseValueString("fs!!@;helloworld")); | |
263 EXPECT_EQ("hello world\tgood", | 264 EXPECT_EQ("hello world\tgood", |
264 ParsedCookie::ParseValueString("hello world\tgood\rbye")); | 265 ParsedCookie::ParseValueString("hello world\tgood\rbye")); |
265 EXPECT_EQ("A=B=C", | 266 EXPECT_EQ("A=B=C", ParsedCookie::ParseValueString("A=B=C;D=E")); |
266 ParsedCookie::ParseValueString("A=B=C;D=E")); | |
267 } | 267 } |
268 | 268 |
269 TEST(ParsedCookieTest, SerializeCookieLine) { | 269 TEST(ParsedCookieTest, SerializeCookieLine) { |
270 const char input[] = "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; " | 270 const char input[] = |
271 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " | 271 "ANCUUID=zohNumRKgI0oxyhSsV3Z7D ; " |
272 "path=/ ; priority=low ; "; | 272 "expires=Sun, 18-Apr-2027 21:06:29 GMT ; " |
273 const char output[] = "ANCUUID=zohNumRKgI0oxyhSsV3Z7D; " | 273 "path=/ ; priority=low ; "; |
274 "expires=Sun, 18-Apr-2027 21:06:29 GMT; " | 274 const char output[] = |
275 "path=/; priority=low"; | 275 "ANCUUID=zohNumRKgI0oxyhSsV3Z7D; " |
| 276 "expires=Sun, 18-Apr-2027 21:06:29 GMT; " |
| 277 "path=/; priority=low"; |
276 ParsedCookie pc(input); | 278 ParsedCookie pc(input); |
277 EXPECT_EQ(output, pc.ToCookieLine()); | 279 EXPECT_EQ(output, pc.ToCookieLine()); |
278 } | 280 } |
279 | 281 |
280 | |
281 TEST(ParsedCookieTest, SetNameAndValue) { | 282 TEST(ParsedCookieTest, SetNameAndValue) { |
282 ParsedCookie empty((std::string())); | 283 ParsedCookie empty((std::string())); |
283 EXPECT_FALSE(empty.IsValid()); | 284 EXPECT_FALSE(empty.IsValid()); |
284 EXPECT_FALSE(empty.SetDomain("foobar.com")); | 285 EXPECT_FALSE(empty.SetDomain("foobar.com")); |
285 EXPECT_TRUE(empty.SetName("name")); | 286 EXPECT_TRUE(empty.SetName("name")); |
286 EXPECT_TRUE(empty.SetValue("value")); | 287 EXPECT_TRUE(empty.SetValue("value")); |
287 EXPECT_EQ("name=value", empty.ToCookieLine()); | 288 EXPECT_EQ("name=value", empty.ToCookieLine()); |
288 EXPECT_TRUE(empty.IsValid()); | 289 EXPECT_TRUE(empty.IsValid()); |
289 | 290 |
290 // We don't test | 291 // We don't test |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 | 347 |
347 // Set all other attributes and check that they are appended in order. | 348 // Set all other attributes and check that they are appended in order. |
348 EXPECT_TRUE(pc.SetDomain("domain.com")); | 349 EXPECT_TRUE(pc.SetDomain("domain.com")); |
349 EXPECT_TRUE(pc.SetPath("/")); | 350 EXPECT_TRUE(pc.SetPath("/")); |
350 EXPECT_TRUE(pc.SetExpires("Sun, 18-Apr-2027 21:06:29 GMT")); | 351 EXPECT_TRUE(pc.SetExpires("Sun, 18-Apr-2027 21:06:29 GMT")); |
351 EXPECT_TRUE(pc.SetMaxAge("12345")); | 352 EXPECT_TRUE(pc.SetMaxAge("12345")); |
352 EXPECT_TRUE(pc.SetIsSecure(true)); | 353 EXPECT_TRUE(pc.SetIsSecure(true)); |
353 EXPECT_TRUE(pc.SetIsHttpOnly(true)); | 354 EXPECT_TRUE(pc.SetIsHttpOnly(true)); |
354 EXPECT_TRUE(pc.SetIsHttpOnly(true)); | 355 EXPECT_TRUE(pc.SetIsHttpOnly(true)); |
355 EXPECT_TRUE(pc.SetPriority("HIGH")); | 356 EXPECT_TRUE(pc.SetPriority("HIGH")); |
356 EXPECT_EQ("name=value; domain=domain.com; path=/; " | 357 EXPECT_EQ( |
357 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " | 358 "name=value; domain=domain.com; path=/; " |
358 "httponly; priority=HIGH", | 359 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " |
359 pc.ToCookieLine()); | 360 "httponly; priority=HIGH", |
| 361 pc.ToCookieLine()); |
360 EXPECT_TRUE(pc.HasDomain()); | 362 EXPECT_TRUE(pc.HasDomain()); |
361 EXPECT_TRUE(pc.HasPath()); | 363 EXPECT_TRUE(pc.HasPath()); |
362 EXPECT_TRUE(pc.HasExpires()); | 364 EXPECT_TRUE(pc.HasExpires()); |
363 EXPECT_TRUE(pc.HasMaxAge()); | 365 EXPECT_TRUE(pc.HasMaxAge()); |
364 EXPECT_TRUE(pc.IsSecure()); | 366 EXPECT_TRUE(pc.IsSecure()); |
365 EXPECT_TRUE(pc.IsHttpOnly()); | 367 EXPECT_TRUE(pc.IsHttpOnly()); |
366 EXPECT_EQ(COOKIE_PRIORITY_HIGH, pc.Priority()); | 368 EXPECT_EQ(COOKIE_PRIORITY_HIGH, pc.Priority()); |
367 | 369 |
368 // Clear one attribute from the middle. | 370 // Clear one attribute from the middle. |
369 EXPECT_TRUE(pc.SetPath("/foo")); | 371 EXPECT_TRUE(pc.SetPath("/foo")); |
370 EXPECT_TRUE(pc.HasDomain()); | 372 EXPECT_TRUE(pc.HasDomain()); |
371 EXPECT_TRUE(pc.HasPath()); | 373 EXPECT_TRUE(pc.HasPath()); |
372 EXPECT_TRUE(pc.HasExpires()); | 374 EXPECT_TRUE(pc.HasExpires()); |
373 EXPECT_TRUE(pc.IsSecure()); | 375 EXPECT_TRUE(pc.IsSecure()); |
374 EXPECT_TRUE(pc.IsHttpOnly()); | 376 EXPECT_TRUE(pc.IsHttpOnly()); |
375 EXPECT_EQ("name=value; domain=domain.com; path=/foo; " | 377 EXPECT_EQ( |
376 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " | 378 "name=value; domain=domain.com; path=/foo; " |
377 "httponly; priority=HIGH", | 379 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " |
378 pc.ToCookieLine()); | 380 "httponly; priority=HIGH", |
| 381 pc.ToCookieLine()); |
379 | 382 |
380 // Set priority to medium. | 383 // Set priority to medium. |
381 EXPECT_TRUE(pc.SetPriority("medium")); | 384 EXPECT_TRUE(pc.SetPriority("medium")); |
382 EXPECT_EQ("name=value; domain=domain.com; path=/foo; " | 385 EXPECT_EQ( |
383 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " | 386 "name=value; domain=domain.com; path=/foo; " |
384 "httponly; priority=medium", | 387 "expires=Sun, 18-Apr-2027 21:06:29 GMT; max-age=12345; secure; " |
385 pc.ToCookieLine()); | 388 "httponly; priority=medium", |
| 389 pc.ToCookieLine()); |
386 | 390 |
387 // Clear the rest and change the name and value. | 391 // Clear the rest and change the name and value. |
388 EXPECT_TRUE(pc.SetDomain(std::string())); | 392 EXPECT_TRUE(pc.SetDomain(std::string())); |
389 EXPECT_TRUE(pc.SetPath(std::string())); | 393 EXPECT_TRUE(pc.SetPath(std::string())); |
390 EXPECT_TRUE(pc.SetExpires(std::string())); | 394 EXPECT_TRUE(pc.SetExpires(std::string())); |
391 EXPECT_TRUE(pc.SetMaxAge(std::string())); | 395 EXPECT_TRUE(pc.SetMaxAge(std::string())); |
392 EXPECT_TRUE(pc.SetIsSecure(false)); | 396 EXPECT_TRUE(pc.SetIsSecure(false)); |
393 EXPECT_TRUE(pc.SetIsHttpOnly(false)); | 397 EXPECT_TRUE(pc.SetIsHttpOnly(false)); |
394 EXPECT_TRUE(pc.SetName("name2")); | 398 EXPECT_TRUE(pc.SetName("name2")); |
395 EXPECT_TRUE(pc.SetValue("value2")); | 399 EXPECT_TRUE(pc.SetValue("value2")); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 EXPECT_EQ("name=value; priority=lowerest", pc.ToCookieLine()); | 436 EXPECT_EQ("name=value; priority=lowerest", pc.ToCookieLine()); |
433 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); | 437 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); |
434 | 438 |
435 EXPECT_TRUE(pc.SetPriority("")); | 439 EXPECT_TRUE(pc.SetPriority("")); |
436 EXPECT_EQ("name=value", pc.ToCookieLine()); | 440 EXPECT_EQ("name=value", pc.ToCookieLine()); |
437 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); | 441 EXPECT_EQ(COOKIE_PRIORITY_DEFAULT, pc.Priority()); |
438 } | 442 } |
439 | 443 |
440 TEST(ParsedCookieTest, InvalidNonAlphanumericChars) { | 444 TEST(ParsedCookieTest, InvalidNonAlphanumericChars) { |
441 ParsedCookie pc1("name=\x05"); | 445 ParsedCookie pc1("name=\x05"); |
442 ParsedCookie pc2("name=foo" "\x1c" "bar"); | 446 ParsedCookie pc2( |
443 ParsedCookie pc3("name=foobar" "\x11"); | 447 "name=foo" |
444 ParsedCookie pc4("name=\x02" "foobar"); | 448 "\x1c" |
| 449 "bar"); |
| 450 ParsedCookie pc3( |
| 451 "name=foobar" |
| 452 "\x11"); |
| 453 ParsedCookie pc4( |
| 454 "name=\x02" |
| 455 "foobar"); |
445 | 456 |
446 ParsedCookie pc5("\x05=value"); | 457 ParsedCookie pc5("\x05=value"); |
447 ParsedCookie pc6("foo" "\x05" "bar=value"); | 458 ParsedCookie pc6( |
448 ParsedCookie pc7("foobar" "\x05" "=value"); | 459 "foo" |
449 ParsedCookie pc8("\x05" "foobar" "=value"); | 460 "\x05" |
| 461 "bar=value"); |
| 462 ParsedCookie pc7( |
| 463 "foobar" |
| 464 "\x05" |
| 465 "=value"); |
| 466 ParsedCookie pc8( |
| 467 "\x05" |
| 468 "foobar" |
| 469 "=value"); |
450 | 470 |
451 ParsedCookie pc9("foo" "\x05" "bar" "=foo" "\x05" "bar"); | 471 ParsedCookie pc9( |
| 472 "foo" |
| 473 "\x05" |
| 474 "bar" |
| 475 "=foo" |
| 476 "\x05" |
| 477 "bar"); |
452 | 478 |
453 ParsedCookie pc10("foo=bar;ba" "\x05" "z=boo"); | 479 ParsedCookie pc10( |
454 ParsedCookie pc11("foo=bar;baz=bo" "\x05" "o"); | 480 "foo=bar;ba" |
455 ParsedCookie pc12("foo=bar;ba" "\05" "z=bo" "\x05" "o"); | 481 "\x05" |
| 482 "z=boo"); |
| 483 ParsedCookie pc11( |
| 484 "foo=bar;baz=bo" |
| 485 "\x05" |
| 486 "o"); |
| 487 ParsedCookie pc12( |
| 488 "foo=bar;ba" |
| 489 "\05" |
| 490 "z=bo" |
| 491 "\x05" |
| 492 "o"); |
456 | 493 |
457 EXPECT_FALSE(pc1.IsValid()); | 494 EXPECT_FALSE(pc1.IsValid()); |
458 EXPECT_FALSE(pc2.IsValid()); | 495 EXPECT_FALSE(pc2.IsValid()); |
459 EXPECT_FALSE(pc3.IsValid()); | 496 EXPECT_FALSE(pc3.IsValid()); |
460 EXPECT_FALSE(pc4.IsValid()); | 497 EXPECT_FALSE(pc4.IsValid()); |
461 EXPECT_FALSE(pc5.IsValid()); | 498 EXPECT_FALSE(pc5.IsValid()); |
462 EXPECT_FALSE(pc6.IsValid()); | 499 EXPECT_FALSE(pc6.IsValid()); |
463 EXPECT_FALSE(pc7.IsValid()); | 500 EXPECT_FALSE(pc7.IsValid()); |
464 EXPECT_FALSE(pc8.IsValid()); | 501 EXPECT_FALSE(pc8.IsValid()); |
465 EXPECT_FALSE(pc9.IsValid()); | 502 EXPECT_FALSE(pc9.IsValid()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 EXPECT_EQ(pc4_literal, pc4.ToCookieLine()); | 535 EXPECT_EQ(pc4_literal, pc4.ToCookieLine()); |
499 EXPECT_TRUE(pc5.IsValid()); | 536 EXPECT_TRUE(pc5.IsValid()); |
500 EXPECT_EQ(pc5_literal, pc5.ToCookieLine()); | 537 EXPECT_EQ(pc5_literal, pc5.ToCookieLine()); |
501 EXPECT_TRUE(pc6.IsValid()); | 538 EXPECT_TRUE(pc6.IsValid()); |
502 EXPECT_EQ(pc6_literal, pc6.ToCookieLine()); | 539 EXPECT_EQ(pc6_literal, pc6.ToCookieLine()); |
503 EXPECT_TRUE(pc7.IsValid()); | 540 EXPECT_TRUE(pc7.IsValid()); |
504 EXPECT_EQ(pc7_literal, pc7.ToCookieLine()); | 541 EXPECT_EQ(pc7_literal, pc7.ToCookieLine()); |
505 EXPECT_TRUE(pc8.IsValid()); | 542 EXPECT_TRUE(pc8.IsValid()); |
506 EXPECT_EQ(pc8_literal, pc8.ToCookieLine()); | 543 EXPECT_EQ(pc8_literal, pc8.ToCookieLine()); |
507 } | 544 } |
508 | |
509 } | 545 } |
OLD | NEW |