| 1 | #![warn (rust_2018_idioms)] |
| 2 | #![cfg (feature = "std" )] |
| 3 | |
| 4 | use std::io::{BufRead, Read}; |
| 5 | |
| 6 | use bytes::Buf; |
| 7 | |
| 8 | #[test] |
| 9 | fn read() { |
| 10 | let buf1 = &b"hello " [..]; |
| 11 | let buf2 = &b"world" [..]; |
| 12 | let buf = Buf::chain(buf1, buf2); // Disambiguate with Read::chain |
| 13 | let mut buffer = Vec::new(); |
| 14 | buf.reader().read_to_end(&mut buffer).unwrap(); |
| 15 | assert_eq!(b"hello world" , &buffer[..]); |
| 16 | } |
| 17 | |
| 18 | #[test] |
| 19 | fn buf_read() { |
| 20 | let buf1 = &b"hell" [..]; |
| 21 | let buf2 = &b"o \nworld" [..]; |
| 22 | let mut reader = Buf::chain(buf1, buf2).reader(); |
| 23 | let mut line = String::new(); |
| 24 | reader.read_line(&mut line).unwrap(); |
| 25 | assert_eq!("hello \n" , &line); |
| 26 | line.clear(); |
| 27 | reader.read_line(&mut line).unwrap(); |
| 28 | assert_eq!("world" , &line); |
| 29 | } |
| 30 | |