Skip to content

Commit b2b3ce6

Browse files
bearcageseanmonstar
authored andcommitted
Add a test covering all similar permutations
1 parent 7c0d445 commit b2b3ce6

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/lib.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1834,6 +1834,24 @@ mod tests {
18341834
}
18351835
}
18361836

1837+
/// Check all subset permutations of a partial request line with no headers
1838+
#[test]
1839+
fn partial_permutations() {
1840+
let req_str = "GET / HTTP/1.1\r\n\r\n";
1841+
let mut headers = [EMPTY_HEADER; NUM_OF_HEADERS];
1842+
let mut req = Request::new(&mut headers[..]);
1843+
for i in 0..req_str.len() {
1844+
let status = req.parse(req_str[..i].as_bytes());
1845+
assert_eq!(
1846+
status,
1847+
Ok(Status::Partial),
1848+
"partial request line should return partial. \
1849+
Portion which failed: '{seg}' (below {i})",
1850+
seg = &req_str[..i]
1851+
);
1852+
}
1853+
}
1854+
18371855
static RESPONSE_WITH_WHITESPACE_BETWEEN_HEADER_NAME_AND_COLON: &[u8] =
18381856
b"HTTP/1.1 200 OK\r\nAccess-Control-Allow-Credentials : true\r\nBread: baguette\r\n\r\n";
18391857

0 commit comments

Comments
 (0)