diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-10 07:01:37 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-10 07:01:37 +0000 |
commit | 3e56d2b731e7634655b12e24d0724ff12f8d5a1c (patch) | |
tree | bc916d77ff4abffd28ebc6040f8a732aca0311e7 /tests/test_take.rs | |
parent | 073a8f76e3f94372ed2c11d71efbfcb2b168b424 (diff) | |
parent | 93e2e9787ff376ef44812969f84c2b9137067c57 (diff) | |
download | bytes-aml_ext_331012020.tar.gz |
Snap for 8564071 from 93e2e9787ff376ef44812969f84c2b9137067c57 to mainline-extservices-releaseaml_ext_331814220aml_ext_331412000aml_ext_331312000aml_ext_331112010aml_ext_331012020android13-mainline-extservices-release
Change-Id: Ib31e964c496fcc750461a85bc175ddc015a60911
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); +} |