You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
499 B
18 lines
499 B
4 months ago
|
#[test]
|
||
|
fn read_exact() {
|
||
|
use futures::executor::block_on;
|
||
|
use futures::io::AsyncReadExt;
|
||
|
|
||
|
let mut reader: &[u8] = &[1, 2, 3, 4, 5];
|
||
|
let mut out = [0u8; 3];
|
||
|
|
||
|
let res = block_on(reader.read_exact(&mut out)); // read 3 bytes out
|
||
|
assert!(res.is_ok());
|
||
|
assert_eq!(out, [1,2,3]);
|
||
|
assert_eq!(reader.len(), 2);
|
||
|
|
||
|
let res = block_on(reader.read_exact(&mut out)); // read another 3 bytes, but only 2 bytes left
|
||
|
assert!(res.is_err());
|
||
|
assert_eq!(reader.len(), 0);
|
||
|
}
|