1 #![warn(rust_2018_idioms)] 2 #![cfg(feature = "full")] 3 4 use tokio::io::AsyncBufReadExt; 5 use tokio_test::assert_ok; 6 7 #[tokio::test] lines_inherent()8async fn lines_inherent() { 9 let rd: &[u8] = b"hello\r\nworld\n\n"; 10 let mut st = rd.lines(); 11 12 let b = assert_ok!(st.next_line().await).unwrap(); 13 assert_eq!(b, "hello"); 14 let b = assert_ok!(st.next_line().await).unwrap(); 15 assert_eq!(b, "world"); 16 let b = assert_ok!(st.next_line().await).unwrap(); 17 assert_eq!(b, ""); 18 assert!(assert_ok!(st.next_line().await).is_none()); 19 } 20 21 #[tokio::test] lines_stream()22async fn lines_stream() { 23 use tokio::stream::StreamExt; 24 25 let rd: &[u8] = b"hello\r\nworld\n\n"; 26 let mut st = rd.lines(); 27 28 let b = assert_ok!(st.next().await.unwrap()); 29 assert_eq!(b, "hello"); 30 let b = assert_ok!(st.next().await.unwrap()); 31 assert_eq!(b, "world"); 32 let b = assert_ok!(st.next().await.unwrap()); 33 assert_eq!(b, ""); 34 assert!(st.next().await.is_none()); 35 } 36