impl ExactSizeIterator for Iter<T: Buf> (#127)

This commit is contained in:
brianwp
2017-05-24 08:13:19 -07:00
committed by Carl Lerche
parent 3f5890be70
commit 2b0602e756
2 changed files with 24 additions and 0 deletions
+2
View File
@@ -112,3 +112,5 @@ impl<T: Buf> Iterator for Iter<T> {
(rem, Some(rem))
}
}
impl<T: Buf> ExactSizeIterator for Iter<T> { }
+22
View File
@@ -0,0 +1,22 @@
extern crate bytes;
use bytes::{Buf, IntoBuf, Bytes};
#[test]
fn iter_len() {
let buf = Bytes::from(&b"hello world"[..]).into_buf();
let iter = buf.iter();
assert_eq!(iter.size_hint(), (11, Some(11)));
assert_eq!(iter.len(), 11);
}
#[test]
fn empty_iter_len() {
let buf = Bytes::from(&b""[..]).into_buf();
let iter = buf.iter();
assert_eq!(iter.size_hint(), (0, Some(0)));
assert_eq!(iter.len(), 0);
}