mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-30 18:34:36 +01:00
fix payload readuntil
This commit is contained in:
parent
32a9d9f683
commit
d49e61591f
@ -297,7 +297,7 @@ impl Inner {
|
|||||||
if idx == line.len() {
|
if idx == line.len() {
|
||||||
num = no;
|
num = no;
|
||||||
offset = pos+1;
|
offset = pos+1;
|
||||||
length += pos;
|
length += pos+1;
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -410,6 +410,7 @@ mod test {
|
|||||||
}
|
}
|
||||||
assert!(payload.is_empty());
|
assert!(payload.is_empty());
|
||||||
assert!(payload.eof());
|
assert!(payload.eof());
|
||||||
|
assert_eq!(payload.len(), 0);
|
||||||
|
|
||||||
match payload.readany() {
|
match payload.readany() {
|
||||||
Async::Ready(None) => (),
|
Async::Ready(None) => (),
|
||||||
@ -478,16 +479,19 @@ mod test {
|
|||||||
|
|
||||||
sender.feed_data(Bytes::from("line1"));
|
sender.feed_data(Bytes::from("line1"));
|
||||||
sender.feed_data(Bytes::from("line2"));
|
sender.feed_data(Bytes::from("line2"));
|
||||||
|
assert_eq!(payload.len(), 10);
|
||||||
|
|
||||||
match payload.readexactly(2) {
|
match payload.readexactly(2) {
|
||||||
Ok(Async::Ready(data)) => assert_eq!(&data, "li"),
|
Ok(Async::Ready(data)) => assert_eq!(&data, "li"),
|
||||||
_ => panic!("error"),
|
_ => panic!("error"),
|
||||||
}
|
}
|
||||||
|
assert_eq!(payload.len(), 8);
|
||||||
|
|
||||||
match payload.readexactly(4) {
|
match payload.readexactly(4) {
|
||||||
Ok(Async::Ready(data)) => assert_eq!(&data, "ne1l"),
|
Ok(Async::Ready(data)) => assert_eq!(&data, "ne1l"),
|
||||||
_ => panic!("error"),
|
_ => panic!("error"),
|
||||||
}
|
}
|
||||||
|
assert_eq!(payload.len(), 4);
|
||||||
|
|
||||||
sender.set_error(PayloadError::Incomplete);
|
sender.set_error(PayloadError::Incomplete);
|
||||||
match payload.readexactly(10) {
|
match payload.readexactly(10) {
|
||||||
@ -512,16 +516,19 @@ mod test {
|
|||||||
|
|
||||||
sender.feed_data(Bytes::from("line1"));
|
sender.feed_data(Bytes::from("line1"));
|
||||||
sender.feed_data(Bytes::from("line2"));
|
sender.feed_data(Bytes::from("line2"));
|
||||||
|
assert_eq!(payload.len(), 10);
|
||||||
|
|
||||||
match payload.readuntil(b"ne") {
|
match payload.readuntil(b"ne") {
|
||||||
Ok(Async::Ready(data)) => assert_eq!(&data, "line"),
|
Ok(Async::Ready(data)) => assert_eq!(&data, "line"),
|
||||||
_ => panic!("error"),
|
_ => panic!("error"),
|
||||||
}
|
}
|
||||||
|
assert_eq!(payload.len(), 6);
|
||||||
|
|
||||||
match payload.readuntil(b"2") {
|
match payload.readuntil(b"2") {
|
||||||
Ok(Async::Ready(data)) => assert_eq!(&data, "1line2"),
|
Ok(Async::Ready(data)) => assert_eq!(&data, "1line2"),
|
||||||
_ => panic!("error"),
|
_ => panic!("error"),
|
||||||
}
|
}
|
||||||
|
assert_eq!(payload.len(), 0);
|
||||||
|
|
||||||
sender.set_error(PayloadError::Incomplete);
|
sender.set_error(PayloadError::Incomplete);
|
||||||
match payload.readuntil(b"b") {
|
match payload.readuntil(b"b") {
|
||||||
|
Loading…
Reference in New Issue
Block a user