diff --git a/README.md b/README.md index b363c25..1303354 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,8 @@ - [x] Auth headers - [x] Repeated headers - [x] Cookie jar in agent -- [ ] Write tests for send body content-length -- [ ] Write tests for send body chunked +- [x] Write tests for send body content-length +- [x] Write tests for send body chunked - [ ] Forms with application/x-www-form-urlencoded - [ ] multipart/form-data - [ ] Connection reuse/keep-alive with pool diff --git a/src/test/body_send.rs b/src/test/body_send.rs index 62191ad..881f19f 100644 --- a/src/test/body_send.rs +++ b/src/test/body_send.rs @@ -11,7 +11,7 @@ fn content_length_on_str() { .send_str("Hello World!!!"); let vec = resp.to_write_vec(); let s = String::from_utf8_lossy(&vec); - assert!(s.contains("\r\nContent-Length: 14\r\n")) + assert!(s.contains("\r\nContent-Length: 14\r\n")); } #[test] @@ -25,5 +25,19 @@ fn content_length_on_json() { .send_json(SerdeValue::Object(json)); let vec = resp.to_write_vec(); let s = String::from_utf8_lossy(&vec); - assert!(s.contains("\r\nContent-Length: 20\r\n")) + assert!(s.contains("\r\nContent-Length: 20\r\n")); } + +#[test] +fn content_length_and_chunked() { + test::set_handler("/content_length_and_chunked", |_req, _url| { + test::make_response(200, "OK", vec![], vec![]) + }); + let resp = post("test://host/content_length_and_chunked") + .set("Transfer-Encoding", "chunked") + .send_str("Hello World!!!"); + let vec = resp.to_write_vec(); + let s = String::from_utf8_lossy(&vec); + assert!(s.contains("Transfer-Encoding: chunked\r\n")); + assert!(!s.contains("\r\nContent-Length:\r\n")); +} \ No newline at end of file