diff options
author | Joel Galenson <jgalenson@google.com> | 2021-09-22 10:51:41 -0700 |
---|---|---|
committer | Joel Galenson <jgalenson@google.com> | 2021-09-22 10:51:41 -0700 |
commit | 12f62b94d6ccdca90dcd0edfbff82031fec3912f (patch) | |
tree | 8e48eb122f9388d510dacf7066a11e16c9b411d3 /tests/test_take.rs | |
parent | 199730d90816980d7cac4cb1dabcce07bc548a38 (diff) | |
download | bytes-12f62b94d6ccdca90dcd0edfbff82031fec3912f.tar.gz |
Upgrade rust/crates/bytes to 1.1.0
Test: make
Change-Id: I62c795247b1a9f37ec66c3ef6b1add6b78530482
Diffstat (limited to 'tests/test_take.rs')
-rw-r--r-- | tests/test_take.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/test_take.rs b/tests/test_take.rs index a23a29e..51df91d 100644 --- a/tests/test_take.rs +++ b/tests/test_take.rs @@ -1,6 +1,7 @@ #![warn(rust_2018_idioms)] use bytes::buf::Buf; +use bytes::Bytes; #[test] fn long_take() { @@ -10,3 +11,22 @@ fn long_take() { assert_eq!(11, buf.remaining()); assert_eq!(b"hello world", buf.chunk()); } + +#[test] +fn take_copy_to_bytes() { + let mut abcd = Bytes::copy_from_slice(b"abcd"); + let abcd_ptr = abcd.as_ptr(); + let mut take = (&mut abcd).take(2); + let a = take.copy_to_bytes(1); + assert_eq!(Bytes::copy_from_slice(b"a"), a); + // assert `to_bytes` did not allocate + assert_eq!(abcd_ptr, a.as_ptr()); + assert_eq!(Bytes::copy_from_slice(b"bcd"), abcd); +} + +#[test] +#[should_panic] +fn take_copy_to_bytes_panics() { + let abcd = Bytes::copy_from_slice(b"abcd"); + abcd.take(2).copy_to_bytes(3); +} |