Files
bytes/test/test_buf.rs
T

54 lines
978 B
Rust
Raw Normal View History

use std::usize;
use std::io::{Cursor};
#[test]
pub fn test_fresh_cursor_vec() {
2016-08-05 22:19:37 -07:00
use bytes::Buf;
let mut buf = Cursor::new(b"hello".to_vec());
assert_eq!(buf.remaining(), 5);
assert_eq!(buf.bytes(), b"hello");
buf.advance(2);
assert_eq!(buf.remaining(), 3);
assert_eq!(buf.bytes(), b"llo");
buf.advance(3);
assert_eq!(buf.remaining(), 0);
assert_eq!(buf.bytes(), b"");
buf.advance(1);
assert_eq!(buf.remaining(), 0);
assert_eq!(buf.bytes(), b"");
}
#[test]
pub fn test_vec_as_mut_buf() {
2016-08-05 22:19:37 -07:00
use bytes::MutBuf;
2015-09-25 09:36:32 -07:00
let mut buf = Vec::with_capacity(64);
assert_eq!(buf.remaining(), usize::MAX);
2015-07-25 20:03:22 -07:00
unsafe {
2015-09-25 09:36:32 -07:00
assert!(buf.mut_bytes().len() >= 64);
2015-07-25 20:03:22 -07:00
}
2016-08-05 21:54:29 -07:00
buf.copy_from(&b"zomg"[..]);
assert_eq!(&buf, b"zomg");
assert_eq!(buf.remaining(), usize::MAX - 4);
assert_eq!(buf.capacity(), 64);
for _ in 0..16 {
2016-08-05 21:54:29 -07:00
buf.copy_from(&b"zomg"[..]);
}
assert_eq!(buf.len(), 68);
}