diff options
author | 2019-06-06 14:05:16 -0700 | |
---|---|---|
committer | 2019-06-06 14:08:29 -0700 | |
commit | 5759211ff81c3601015a0c0dad96f9366965446c (patch) | |
tree | f35a46ed391a2dedf99e0e4ff5181a559ffdf50c /tests/test_bytes.rs | |
parent | 60aceba2bb1dfacbca395832d2f36eabd517fcb1 (diff) | |
parent | d43e283e5ed520e54df2428f2cf9a7c13c79ff49 (diff) | |
download | bytes-5759211ff81c3601015a0c0dad96f9366965446c.tar.gz bytes-5759211ff81c3601015a0c0dad96f9366965446c.tar.zst bytes-5759211ff81c3601015a0c0dad96f9366965446c.zip |
Merge branch 'v0.4.x' into uplift-0.4-commits
Diffstat (limited to 'tests/test_bytes.rs')
-rw-r--r-- | tests/test_bytes.rs | 63 |
1 files changed, 56 insertions, 7 deletions
diff --git a/tests/test_bytes.rs b/tests/test_bytes.rs index 9aff072..5eaedd3 100644 --- a/tests/test_bytes.rs +++ b/tests/test_bytes.rs @@ -258,15 +258,10 @@ fn split_to_oob_mut() { } #[test] +#[should_panic] fn split_to_uninitialized() { let mut bytes = BytesMut::with_capacity(1024); - let other = bytes.split_to(128); - - assert_eq!(bytes.len(), 0); - assert_eq!(bytes.capacity(), 896); - - assert_eq!(other.len(), 0); - assert_eq!(other.capacity(), 128); + let _other = bytes.split_to(128); } #[test] @@ -851,3 +846,57 @@ fn from_iter_no_size_hint() { assert_eq!(&actual[..], &expect[..]); } + +fn test_slice_ref(bytes: &Bytes, start: usize, end: usize, expected: &[u8]) { + let slice = &(bytes.as_ref()[start..end]); + let sub = bytes.slice_ref(&slice); + assert_eq!(&sub[..], expected); +} + +#[test] +fn slice_ref_works() { + let bytes = Bytes::from(&b"012345678"[..]); + + test_slice_ref(&bytes, 0, 0, b""); + test_slice_ref(&bytes, 0, 3, b"012"); + test_slice_ref(&bytes, 2, 6, b"2345"); + test_slice_ref(&bytes, 7, 9, b"78"); + test_slice_ref(&bytes, 9, 9, b""); +} + + +#[test] +fn slice_ref_empty() { + let bytes = Bytes::from(&b""[..]); + let slice = &(bytes.as_ref()[0..0]); + + let sub = bytes.slice_ref(&slice); + assert_eq!(&sub[..], b""); +} + +#[test] +#[should_panic] +fn slice_ref_catches_not_a_subset() { + let bytes = Bytes::from(&b"012345678"[..]); + let slice = &b"012345"[0..4]; + + bytes.slice_ref(slice); +} + +#[test] +#[should_panic] +fn slice_ref_catches_not_an_empty_subset() { + let bytes = Bytes::from(&b"012345678"[..]); + let slice = &b""[0..0]; + + bytes.slice_ref(slice); +} + +#[test] +#[should_panic] +fn empty_slice_ref_catches_not_an_empty_subset() { + let bytes = Bytes::from(&b""[..]); + let slice = &b""[0..0]; + + bytes.slice_ref(slice); +} |