diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_buf.rs | 6 | ||||
-rw-r--r-- | tests/test_buf_mut.rs | 6 | ||||
-rw-r--r-- | tests/test_bytes.rs | 152 | ||||
-rw-r--r-- | tests/test_chain.rs | 8 |
4 files changed, 153 insertions, 19 deletions
diff --git a/tests/test_buf.rs b/tests/test_buf.rs index f25c25f..93817ea 100644 --- a/tests/test_buf.rs +++ b/tests/test_buf.rs @@ -33,7 +33,7 @@ fn test_get_u8() { #[test] fn test_get_u16() { let buf = b"\x21\x54zomg"; - assert_eq!(0x2154, Cursor::new(buf).get_u16_be()); + assert_eq!(0x2154, Cursor::new(buf).get_u16()); assert_eq!(0x5421, Cursor::new(buf).get_u16_le()); } @@ -41,7 +41,7 @@ fn test_get_u16() { #[should_panic] fn test_get_u16_buffer_underflow() { let mut buf = Cursor::new(b"\x21"); - buf.get_u16_be(); + buf.get_u16(); } #[test] @@ -51,7 +51,7 @@ fn test_bufs_vec() { let b1: &[u8] = &mut [0]; let b2: &[u8] = &mut [0]; - let mut dst: [&IoVec; 2] = + let mut dst: [IoVec; 2] = [b1.into(), b2.into()]; assert_eq!(1, buf.bytes_vec(&mut dst[..])); diff --git a/tests/test_buf_mut.rs b/tests/test_buf_mut.rs index 2c8faa1..0179259 100644 --- a/tests/test_buf_mut.rs +++ b/tests/test_buf_mut.rs @@ -3,7 +3,7 @@ extern crate byteorder; extern crate iovec; use bytes::{BufMut, BytesMut}; -use iovec::IoVec; +use iovec::IoVecMut; use std::usize; use std::fmt::Write; @@ -41,7 +41,7 @@ fn test_put_u8() { #[test] fn test_put_u16() { let mut buf = Vec::with_capacity(8); - buf.put_u16_be(8532); + buf.put_u16(8532); assert_eq!(b"\x21\x54", &buf[..]); buf.clear(); @@ -77,7 +77,7 @@ fn test_bufs_vec_mut() { let mut buf = BytesMut::from(&b"hello world"[..]); unsafe { - let mut dst: [&mut IoVec; 2] = mem::zeroed(); + let mut dst: [IoVecMut; 2] = mem::zeroed(); assert_eq!(1, buf.bytes_vec_mut(&mut dst[..])); } } diff --git a/tests/test_bytes.rs b/tests/test_bytes.rs index e188354..5eaedd3 100644 --- a/tests/test_bytes.rs +++ b/tests/test_bytes.rs @@ -571,7 +571,141 @@ fn partial_eq_bytesmut() { } #[test] -fn unsplit_basic() { +fn bytes_unsplit_basic() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaabbbcccddd"); + + let splitted = buf.split_off(6); + assert_eq!(b"aaabbb", &buf[..]); + assert_eq!(b"cccddd", &splitted[..]); + + buf.unsplit(splitted); + assert_eq!(b"aaabbbcccddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_empty_other() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaabbbcccddd"); + + // empty other + let other = Bytes::new(); + + buf.unsplit(other); + assert_eq!(b"aaabbbcccddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_empty_self() { + // empty self + let mut buf = Bytes::new(); + + let mut other = Bytes::with_capacity(64); + other.extend_from_slice(b"aaabbbcccddd"); + + buf.unsplit(other); + assert_eq!(b"aaabbbcccddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_inline_arc() { + let mut buf = Bytes::with_capacity(8); //inline + buf.extend_from_slice(b"aaaabbbb"); + + let mut buf2 = Bytes::with_capacity(64); + buf2.extend_from_slice(b"ccccddddeeee"); + + buf2.split_off(8); //arc + + buf.unsplit(buf2); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_arc_inline() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaaabbbbeeee"); + + buf.split_off(8); //arc + + let mut buf2 = Bytes::with_capacity(8); //inline + buf2.extend_from_slice(b"ccccdddd"); + + buf.unsplit(buf2); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); + +} + +#[test] +fn bytes_unsplit_both_inline() { + let mut buf = Bytes::with_capacity(16); //inline + buf.extend_from_slice(b"aaaabbbbccccdddd"); + + let splitted = buf.split_off(8); // both inline + assert_eq!(b"aaaabbbb", &buf[..]); + assert_eq!(b"ccccdddd", &splitted[..]); + + buf.unsplit(splitted); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); +} + + +#[test] +fn bytes_unsplit_arc_different() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaaabbbbeeee"); + + buf.split_off(8); //arc + + let mut buf2 = Bytes::with_capacity(64); + buf2.extend_from_slice(b"ccccddddeeee"); + + buf2.split_off(8); //arc + + buf.unsplit(buf2); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_arc_non_contiguous() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaaabbbbeeeeccccdddd"); + + let mut buf2 = buf.split_off(8); //arc + + let buf3 = buf2.split_off(4); //arc + + buf.unsplit(buf3); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_two_split_offs() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"aaaabbbbccccdddd"); + + let mut buf2 = buf.split_off(8); //arc + let buf3 = buf2.split_off(4); //arc + + buf2.unsplit(buf3); + buf.unsplit(buf2); + assert_eq!(b"aaaabbbbccccdddd", &buf[..]); +} + +#[test] +fn bytes_unsplit_overlapping_references() { + let mut buf = Bytes::with_capacity(64); + buf.extend_from_slice(b"abcdefghijklmnopqrstuvwxyz"); + let mut buf0010 = buf.slice(0, 10); + let buf1020 = buf.slice(10, 20); + let buf0515 = buf.slice(5, 15); + buf0010.unsplit(buf1020); + assert_eq!(b"abcdefghijklmnopqrst", &buf0010[..]); + assert_eq!(b"fghijklmno", &buf0515[..]); +} + +#[test] +fn bytes_mut_unsplit_basic() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaabbbcccddd"); @@ -584,7 +718,7 @@ fn unsplit_basic() { } #[test] -fn unsplit_empty_other() { +fn bytes_mut_unsplit_empty_other() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaabbbcccddd"); @@ -596,7 +730,7 @@ fn unsplit_empty_other() { } #[test] -fn unsplit_empty_self() { +fn bytes_mut_unsplit_empty_self() { // empty self let mut buf = BytesMut::new(); @@ -608,7 +742,7 @@ fn unsplit_empty_self() { } #[test] -fn unsplit_inline_arc() { +fn bytes_mut_unsplit_inline_arc() { let mut buf = BytesMut::with_capacity(8); //inline buf.extend_from_slice(b"aaaabbbb"); @@ -622,7 +756,7 @@ fn unsplit_inline_arc() { } #[test] -fn unsplit_arc_inline() { +fn bytes_mut_unsplit_arc_inline() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaaabbbbeeee"); @@ -637,7 +771,7 @@ fn unsplit_arc_inline() { } #[test] -fn unsplit_both_inline() { +fn bytes_mut_unsplit_both_inline() { let mut buf = BytesMut::with_capacity(16); //inline buf.extend_from_slice(b"aaaabbbbccccdddd"); @@ -651,7 +785,7 @@ fn unsplit_both_inline() { #[test] -fn unsplit_arc_different() { +fn bytes_mut_unsplit_arc_different() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaaabbbbeeee"); @@ -667,7 +801,7 @@ fn unsplit_arc_different() { } #[test] -fn unsplit_arc_non_contiguous() { +fn bytes_mut_unsplit_arc_non_contiguous() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaaabbbbeeeeccccdddd"); @@ -680,7 +814,7 @@ fn unsplit_arc_non_contiguous() { } #[test] -fn unsplit_two_split_offs() { +fn bytes_mut_unsplit_two_split_offs() { let mut buf = BytesMut::with_capacity(64); buf.extend_from_slice(b"aaaabbbbccccdddd"); diff --git a/tests/test_chain.rs b/tests/test_chain.rs index 2789e7c..049a8a2 100644 --- a/tests/test_chain.rs +++ b/tests/test_chain.rs @@ -59,7 +59,7 @@ fn vectored_read() { let b2: &[u8] = &mut [0]; let b3: &[u8] = &mut [0]; let b4: &[u8] = &mut [0]; - let mut iovecs: [&IoVec; 4] = + let mut iovecs: [IoVec; 4] = [b1.into(), b2.into(), b3.into(), b4.into()]; assert_eq!(2, buf.bytes_vec(&mut iovecs)); @@ -76,7 +76,7 @@ fn vectored_read() { let b2: &[u8] = &mut [0]; let b3: &[u8] = &mut [0]; let b4: &[u8] = &mut [0]; - let mut iovecs: [&IoVec; 4] = + let mut iovecs: [IoVec; 4] = [b1.into(), b2.into(), b3.into(), b4.into()]; assert_eq!(2, buf.bytes_vec(&mut iovecs)); @@ -93,7 +93,7 @@ fn vectored_read() { let b2: &[u8] = &mut [0]; let b3: &[u8] = &mut [0]; let b4: &[u8] = &mut [0]; - let mut iovecs: [&IoVec; 4] = + let mut iovecs: [IoVec; 4] = [b1.into(), b2.into(), b3.into(), b4.into()]; assert_eq!(1, buf.bytes_vec(&mut iovecs)); @@ -110,7 +110,7 @@ fn vectored_read() { let b2: &[u8] = &mut [0]; let b3: &[u8] = &mut [0]; let b4: &[u8] = &mut [0]; - let mut iovecs: [&IoVec; 4] = + let mut iovecs: [IoVec; 4] = [b1.into(), b2.into(), b3.into(), b4.into()]; assert_eq!(1, buf.bytes_vec(&mut iovecs)); |