Skip to content

Commit 24023fd

Browse files
committed
test(io): test split & unsplit
1 parent d8fd40c commit 24023fd

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

compio-io/tests/io.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::io::Cursor;
22

33
use compio_buf::{arrayvec::ArrayVec, BufResult, IoBuf, IoBufMut};
44
use compio_io::{
5-
AsyncRead, AsyncReadAt, AsyncReadAtExt, AsyncReadExt, AsyncWrite, AsyncWriteAt,
5+
split, AsyncRead, AsyncReadAt, AsyncReadAtExt, AsyncReadExt, AsyncWrite, AsyncWriteAt,
66
AsyncWriteAtExt, AsyncWriteExt,
77
};
88

@@ -355,3 +355,19 @@ async fn read_to_end_at() {
355355
assert_eq!(len, 4);
356356
assert_eq!(buf, [4, 5, 1, 4]);
357357
}
358+
359+
#[tokio::test]
360+
async fn split_unsplit() {
361+
let src = Cursor::new([1, 1, 4, 5, 1, 4]);
362+
let (mut read, mut write) = split(src);
363+
364+
let (len, buf) = read.read([0, 0, 0]).await.unwrap();
365+
assert_eq!(len, 3);
366+
assert_eq!(buf, [1, 1, 4]);
367+
368+
let (len, _) = write.write([2, 2, 2]).await.unwrap();
369+
assert_eq!(len, 3);
370+
371+
let src = read.unsplit(write);
372+
assert_eq!(src.into_inner(), [1, 1, 4, 2, 2, 2]);
373+
}

0 commit comments

Comments
 (0)