| #![warn(rust_2018_idioms)] |
| #![cfg(feature = "full")] |
| |
| use tokio::io::AsyncBufReadExt; |
| use tokio_test::assert_ok; |
| |
| #[tokio::test] |
| async fn lines_inherent() { |
| let rd: &[u8] = b"hello\r\nworld\n\n"; |
| let mut st = rd.lines(); |
| |
| let b = assert_ok!(st.next_line().await).unwrap(); |
| assert_eq!(b, "hello"); |
| let b = assert_ok!(st.next_line().await).unwrap(); |
| assert_eq!(b, "world"); |
| let b = assert_ok!(st.next_line().await).unwrap(); |
| assert_eq!(b, ""); |
| assert!(assert_ok!(st.next_line().await).is_none()); |
| } |
| |
| #[tokio::test] |
| async fn lines_stream() { |
| use tokio::stream::StreamExt; |
| |
| let rd: &[u8] = b"hello\r\nworld\n\n"; |
| let mut st = rd.lines(); |
| |
| let b = assert_ok!(st.next().await.unwrap()); |
| assert_eq!(b, "hello"); |
| let b = assert_ok!(st.next().await.unwrap()); |
| assert_eq!(b, "world"); |
| let b = assert_ok!(st.next().await.unwrap()); |
| assert_eq!(b, ""); |
| assert!(st.next().await.is_none()); |
| } |