aboutsummaryrefslogtreecommitdiff
path: root/tests/test_bytes.rs
diff options
context:
space:
mode:
authorGravatar Sean McArthur <sean@seanmonstar.com> 2019-06-06 14:05:16 -0700
committerGravatar Sean McArthur <sean@seanmonstar.com> 2019-06-06 14:08:29 -0700
commit5759211ff81c3601015a0c0dad96f9366965446c (patch)
treef35a46ed391a2dedf99e0e4ff5181a559ffdf50c /tests/test_bytes.rs
parent60aceba2bb1dfacbca395832d2f36eabd517fcb1 (diff)
parentd43e283e5ed520e54df2428f2cf9a7c13c79ff49 (diff)
downloadbytes-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.rs63
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);
+}