diff options
| author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2022-05-13 12:53:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-13 12:53:13 +0200 |
| commit | 67e5a850cc9b37b76638cfbac9dee08286a3469a (patch) | |
| tree | 6e8f3f93ba54f572173fb9d0fb588173157c941c /serde_v8/tests/magic.rs | |
| parent | 3e7afb8918fd0f6cedf839a7ebaae6aaee5e66ad (diff) | |
feat(serde_v8): bytes::Bytes support (#14412)
Diffstat (limited to 'serde_v8/tests/magic.rs')
| -rw-r--r-- | serde_v8/tests/magic.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/serde_v8/tests/magic.rs b/serde_v8/tests/magic.rs index 6d60efd66..3fc46abeb 100644 --- a/serde_v8/tests/magic.rs +++ b/serde_v8/tests/magic.rs @@ -129,6 +129,20 @@ fn magic_buffer() { assert!(eq.is_true()); let eq = js_exec(scope, "t3.b[4] === 11"); assert!(eq.is_true()); + + // ZeroCopyBuf as bytes::Bytes + let v8_array = js_exec(scope, "new Uint8Array([1,2,3,4,5])"); + let zbuf: serde_v8::ZeroCopyBuf = + serde_v8::from_v8(scope, v8_array).unwrap(); + let buf: bytes::Bytes = zbuf.into(); + assert_eq!(buf, bytes::Bytes::from_static(&[1, 2, 3, 4, 5])); + assert_eq!(buf, bytes::Bytes::from_static(&[1, 2, 3, 4, 5])); + assert_eq!(buf.slice(0..2), bytes::Bytes::from_static(&[1, 2])); + assert_eq!(buf.slice(2..), bytes::Bytes::from_static(&[3, 4, 5])); + // We're specifically testing that slices are preserved post-clone + #[allow(clippy::redundant_clone)] + let buf2 = buf.slice(2..).clone(); + assert_eq!(buf2, bytes::Bytes::from_static(&[3, 4, 5])); }) } |
