| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library dart.io; | 5 library dart.io; |
| 6 | 6 |
| 7 import "package:expect/expect.dart"; | 7 import "package:expect/expect.dart"; |
| 8 import "dart:async"; | 8 import "dart:async"; |
| 9 import "dart:collection"; | 9 import "dart:collection"; |
| 10 import "dart:convert"; | 10 import "dart:convert"; |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 } | 359 } |
| 360 | 360 |
| 361 void checkCookie(cookie, s) { | 361 void checkCookie(cookie, s) { |
| 362 Expect.equals(s, cookie.toString()); | 362 Expect.equals(s, cookie.toString()); |
| 363 var c = new _Cookie.fromSetCookieValue(s); | 363 var c = new _Cookie.fromSetCookieValue(s); |
| 364 checkCookiesEquals(cookie, c); | 364 checkCookiesEquals(cookie, c); |
| 365 } | 365 } |
| 366 | 366 |
| 367 Cookie cookie; | 367 Cookie cookie; |
| 368 cookie = new Cookie(name, value); | 368 cookie = new Cookie(name, value); |
| 369 Expect.equals("$name=$value", cookie.toString()); | 369 Expect.equals("$name=$value; HttpOnly", cookie.toString()); |
| 370 DateTime date = new DateTime.utc(2014, DateTime.JANUARY, 5, 23, 59, 59, 0); | 370 DateTime date = new DateTime.utc(2014, DateTime.JANUARY, 5, 23, 59, 59, 0); |
| 371 cookie.expires = date; | 371 cookie.expires = date; |
| 372 checkCookie(cookie, "$name=$value" | 372 checkCookie(cookie, "$name=$value" |
| 373 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT"); | 373 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 374 "; HttpOnly"); |
| 374 cookie.maxAge = 567; | 375 cookie.maxAge = 567; |
| 375 checkCookie(cookie, "$name=$value" | 376 checkCookie(cookie, "$name=$value" |
| 376 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" | 377 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 377 "; Max-Age=567"); | 378 "; Max-Age=567" |
| 379 "; HttpOnly"); |
| 378 cookie.domain = "example.com"; | 380 cookie.domain = "example.com"; |
| 379 checkCookie(cookie, "$name=$value" | 381 checkCookie(cookie, "$name=$value" |
| 380 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" | 382 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 381 "; Max-Age=567" | 383 "; Max-Age=567" |
| 382 "; Domain=example.com"); | 384 "; Domain=example.com" |
| 385 "; HttpOnly"); |
| 383 cookie.path = "/xxx"; | 386 cookie.path = "/xxx"; |
| 384 checkCookie(cookie, "$name=$value" | 387 checkCookie(cookie, "$name=$value" |
| 385 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" | 388 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 386 "; Max-Age=567" | 389 "; Max-Age=567" |
| 387 "; Domain=example.com" | 390 "; Domain=example.com" |
| 388 "; Path=/xxx"); | 391 "; Path=/xxx" |
| 392 "; HttpOnly"); |
| 389 cookie.secure = true; | 393 cookie.secure = true; |
| 390 checkCookie(cookie, "$name=$value" | 394 checkCookie(cookie, "$name=$value" |
| 391 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" | 395 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 392 "; Max-Age=567" | 396 "; Max-Age=567" |
| 393 "; Domain=example.com" | 397 "; Domain=example.com" |
| 394 "; Path=/xxx" | 398 "; Path=/xxx" |
| 395 "; Secure"); | |
| 396 cookie.httpOnly = true; | |
| 397 checkCookie(cookie, "$name=$value" | |
| 398 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" | |
| 399 "; Max-Age=567" | |
| 400 "; Domain=example.com" | |
| 401 "; Path=/xxx" | |
| 402 "; Secure" | 399 "; Secure" |
| 403 "; HttpOnly"); | 400 "; HttpOnly"); |
| 401 cookie.httpOnly = false; |
| 402 checkCookie(cookie, "$name=$value" |
| 403 "; Expires=Sun, 05 Jan 2014 23:59:59 GMT" |
| 404 "; Max-Age=567" |
| 405 "; Domain=example.com" |
| 406 "; Path=/xxx" |
| 407 "; Secure"); |
| 404 cookie.expires = null; | 408 cookie.expires = null; |
| 405 checkCookie(cookie, "$name=$value" | 409 checkCookie(cookie, "$name=$value" |
| 406 "; Max-Age=567" | 410 "; Max-Age=567" |
| 407 "; Domain=example.com" | 411 "; Domain=example.com" |
| 408 "; Path=/xxx" | 412 "; Path=/xxx" |
| 409 "; Secure" | 413 "; Secure"); |
| 410 "; HttpOnly"); | |
| 411 cookie.maxAge = null; | 414 cookie.maxAge = null; |
| 412 checkCookie(cookie, "$name=$value" | 415 checkCookie(cookie, "$name=$value" |
| 413 "; Domain=example.com" | 416 "; Domain=example.com" |
| 414 "; Path=/xxx" | 417 "; Path=/xxx" |
| 415 "; Secure" | 418 "; Secure"); |
| 416 "; HttpOnly"); | |
| 417 cookie.domain = null; | 419 cookie.domain = null; |
| 418 checkCookie(cookie, "$name=$value" | 420 checkCookie(cookie, "$name=$value" |
| 419 "; Path=/xxx" | 421 "; Path=/xxx" |
| 420 "; Secure" | 422 "; Secure"); |
| 421 "; HttpOnly"); | |
| 422 cookie.path = null; | 423 cookie.path = null; |
| 423 checkCookie(cookie, "$name=$value" | 424 checkCookie(cookie, "$name=$value" |
| 424 "; Secure" | 425 "; Secure"); |
| 425 "; HttpOnly"); | |
| 426 cookie.secure = false; | 426 cookie.secure = false; |
| 427 checkCookie(cookie, "$name=$value" | |
| 428 "; HttpOnly"); | |
| 429 cookie.httpOnly = false; | |
| 430 checkCookie(cookie, "$name=$value"); | 427 checkCookie(cookie, "$name=$value"); |
| 431 } | 428 } |
| 432 test("name", "value"); | 429 test("name", "value"); |
| 433 test("abc", "def"); | 430 test("abc", "def"); |
| 434 test("ABC", "DEF"); | 431 test("ABC", "DEF"); |
| 435 test("Abc", "Def"); | 432 test("Abc", "Def"); |
| 436 test("SID", "sJdkjKSJD12343kjKj78"); | 433 test("SID", "sJdkjKSJD12343kjKj78"); |
| 437 } | 434 } |
| 438 | 435 |
| 439 void testInvalidCookie() { | 436 void testInvalidCookie() { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 492 (e) => e is FormatException); | 489 (e) => e is FormatException); |
| 493 } | 490 } |
| 494 } | 491 } |
| 495 test('\r'); | 492 test('\r'); |
| 496 test('\n'); | 493 test('\n'); |
| 497 test('test\x00'); | 494 test('test\x00'); |
| 498 // Test we handle other types correctly. | 495 // Test we handle other types correctly. |
| 499 test(new StringBuffer('\x00'), remove: false); | 496 test(new StringBuffer('\x00'), remove: false); |
| 500 } | 497 } |
| 501 | 498 |
| 499 void testClear() { |
| 500 _HttpHeaders headers = new _HttpHeaders("1.1"); |
| 501 headers.add("a", "b"); |
| 502 headers.contentLength = 7; |
| 503 headers.chunkedTransferEncoding = true; |
| 504 headers.clear(); |
| 505 Expect.isNull(headers["a"]); |
| 506 Expect.equals(headers.contentLength, -1); |
| 507 Expect.isFalse(headers.chunkedTransferEncoding); |
| 508 } |
| 509 |
| 502 main() { | 510 main() { |
| 503 testMultiValue(); | 511 testMultiValue(); |
| 504 testDate(); | 512 testDate(); |
| 505 testExpires(); | 513 testExpires(); |
| 506 testIfModifiedSince(); | 514 testIfModifiedSince(); |
| 507 testHost(); | 515 testHost(); |
| 508 testEnumeration(); | 516 testEnumeration(); |
| 509 testHeaderValue(); | 517 testHeaderValue(); |
| 510 testContentType(); | 518 testContentType(); |
| 511 testContentTypeCache(); | 519 testContentTypeCache(); |
| 512 testCookie(); | 520 testCookie(); |
| 513 testInvalidCookie(); | 521 testInvalidCookie(); |
| 514 testHeaderLists(); | 522 testHeaderLists(); |
| 515 testInvalidFieldName(); | 523 testInvalidFieldName(); |
| 516 testInvalidFieldValue(); | 524 testInvalidFieldValue(); |
| 525 testClear(); |
| 517 } | 526 } |
| OLD | NEW |