use crate::Error;
use super::scenario::Scenario;
#[test]
fn accept_100_continue() {
let scenario = Scenario::builder()
.post("/path")
.header("expect", "100-continue")
.build();
let reply = scenario.to_send_100();
let mut output = vec![0; 1024];
let (output_used, reply) = reply.accept(&mut output).unwrap();
assert_eq!(output_used, 25);
assert_eq!(&output[..output_used], b"HTTP/1.1 100 Continue\r\n\r\n");
assert!(reply.inner().state.reader.is_some());
}
#[test]
fn reject_100_continue() {
let scenario = Scenario::builder()
.post("/path")
.header("expect", "100-continue")
.build();
let reply = scenario.to_send_100();
let reply = reply.reject();
assert!(reply.inner().expect_100_reject);
}
#[test]
fn short_buffer() {
let scenario = Scenario::builder()
.post("/path")
.header("expect", "100-continue")
.build();
let reply = scenario.to_send_100();
let mut output = vec![0; 10]; let result = reply.accept(&mut output);
assert!(result.is_err());
assert_eq!(result.unwrap_err(), Error::OutputOverflow);
}