use http1::*;
use http1::test::*;
#[test]
fn on_chunk_begin() {
struct H;
impl HttpHandler for H {
fn on_chunk_begin(&mut self) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F",
ParserState::ChunkLength2,
b"F".len()
);
}
#[test]
fn on_chunk_data() {
struct H;
impl HttpHandler for H {
fn on_chunk_data(&mut self, _: &[u8]) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_eos(
&mut p,
&mut h,
b"F\r\n",
ParserState::ChunkData,
b"F\r\n".len()
);
assert_callback(
&mut p,
&mut h,
b"X",
ParserState::ChunkData,
b"X".len()
);
}
#[test]
fn on_chunk_extension_finished() {
struct H;
impl HttpHandler for H {
fn on_chunk_extension_finished(&mut self) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F;extension;",
ParserState::StripChunkExtensionName,
b"F;extension;".len()
);
}
#[test]
fn on_chunk_extension_name() {
struct H;
impl HttpHandler for H {
fn on_chunk_extension_name(&mut self, _: &[u8]) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F;extension",
ParserState::LowerChunkExtensionName,
b"F;extension".len()
);
}
#[test]
fn on_chunk_extension_value() {
struct H;
impl HttpHandler for H {
fn on_chunk_extension_value(&mut self, _: &[u8]) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F;extension=v",
ParserState::ChunkExtensionValue,
b"F;extension=v".len()
);
}
#[test]
fn on_chunk_extensions_finished() {
struct H;
impl HttpHandler for H {
fn on_chunk_extensions_finished(&mut self) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F\r",
ParserState::ChunkLengthLf,
b"F\r".len()
);
}
#[test]
fn on_chunk_length() {
struct H;
impl HttpHandler for H {
fn on_chunk_length(&mut self, _: usize) -> bool {
false
}
}
let mut h = H;
let mut p = Parser::new();
p.init_chunked();
assert_callback(
&mut p,
&mut h,
b"F\r",
ParserState::ChunkExtensionsFinished,
b"F\r".len()
);
}