diff --git a/src/test/mod.rs b/src/test/mod.rs index 1ba6a40..d3019c4 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -13,6 +13,7 @@ mod auth; mod body_read; mod body_send; mod query_string; +mod range; mod simple; type RequestHandler = Fn(&Request, &Url) -> Result + Send + 'static; diff --git a/src/test/range.rs b/src/test/range.rs new file mode 100644 index 0000000..7e07087 --- /dev/null +++ b/src/test/range.rs @@ -0,0 +1,20 @@ +use std::io::Read; +use test; + +use super::super::*; + +#[test] +fn read_range() { + let resp = get("https://s3.amazonaws.com/foosrvr/bbb.mp4") + .set("Range", "bytes=1000-1999") + .call(); + assert_eq!(*resp.status(), 206); + let mut reader = resp.into_reader(); + let mut buf = vec![]; + let len = reader.read_to_end(&mut buf).unwrap(); + assert_eq!(len, 1000); + assert_eq!( + &buf[0..20], + [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 232, 0, 0, 0, 1] + ) +}