diff options
Diffstat (limited to 'tests/io_read_until.rs')
-rw-r--r-- | tests/io_read_until.rs | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/tests/io_read_until.rs b/tests/io_read_until.rs index 5152281..1e018b7 100644 --- a/tests/io_read_until.rs +++ b/tests/io_read_until.rs @@ -1,13 +1,9 @@ -use futures::executor::block_on; -use futures::future::{Future, FutureExt}; -use futures::stream::{self, StreamExt, TryStreamExt}; -use futures::io::{AsyncBufReadExt, Cursor}; -use futures::task::Poll; -use futures_test::io::AsyncReadTestExt; -use futures_test::task::noop_context; - +#[cfg(feature = "executor")] #[test] fn read_until() { + use futures::executor::block_on; + use futures::io::{AsyncBufReadExt, Cursor}; + let mut buf = Cursor::new(b"12"); let mut v = Vec::new(); assert_eq!(block_on(buf.read_until(b'3', &mut v)).unwrap(), 2); @@ -25,17 +21,29 @@ fn read_until() { assert_eq!(v, []); } -fn run<F: Future + Unpin>(mut f: F) -> F::Output { - let mut cx = noop_context(); - loop { - if let Poll::Ready(x) = f.poll_unpin(&mut cx) { - return x; - } - } -} +#[cfg(feature = "std")] #[test] fn maybe_pending() { + use futures::future::Future; + + fn run<F: Future + Unpin>(mut f: F) -> F::Output { + use futures::future::FutureExt; + use futures_test::task::noop_context; + use futures::task::Poll; + + let mut cx = noop_context(); + loop { + if let Poll::Ready(x) = f.poll_unpin(&mut cx) { + return x; + } + } + } + + use futures::stream::{self, StreamExt, TryStreamExt}; + use futures::io::AsyncBufReadExt; + use futures_test::io::AsyncReadTestExt; + let mut buf = b"12".interleave_pending(); let mut v = Vec::new(); assert_eq!(run(buf.read_until(b'3', &mut v)).unwrap(), 2); |