Skip to content

Commit

Permalink
Add preload test
Browse files Browse the repository at this point in the history
  • Loading branch information
rmja committed Oct 31, 2023
1 parent e1b6eae commit 196a140
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/response.rs
Original file line number Diff line number Diff line change
Expand Up @@ -807,6 +807,25 @@ mod tests {
assert_eq!(11, response.body().discard().await.unwrap());
}

#[tokio::test]
async fn chunked_body_reader_can_read_preloaded() {
let mut read_buffer: Vec<u8> = Vec::new();
read_buffer.extend_from_slice(b"1\r\nX\r\n10\r\nYYYYYYYYYYYYYYYY\r\n0\r\n\r\n");
let preloaded = read_buffer.len();
let mut empty_body = [0; 0].as_slice();
let mut reader = ChunkedBodyReader {
raw_body: BufferingReader::new(&mut read_buffer, preloaded, &mut empty_body),
chunk_remaining: ChunkState::NoChunk,
};

let mut body = [0; 17];
reader.read_exact(&mut body).await.unwrap();

assert_eq!(0, reader.read(&mut body).await.unwrap());
assert_eq!(0, reader.read(&mut body).await.unwrap());
assert_eq!(b"XYYYYYYYYYYYYYYYY", &body);
}

#[tokio::test]
async fn chunked_body_reader_can_read_with_large_buffer() {
let mut raw_body = b"1\r\nX\r\n10\r\nYYYYYYYYYYYYYYYY\r\n0\r\n\r\n".as_slice();
Expand Down

0 comments on commit 196a140

Please sign in to comment.