summaryrefslogtreecommitdiffstats
path: root/tokio/tests/io_copy.rs
diff options
context:
space:
mode:
authorLucio Franco <luciofranco14@gmail.com>2019-08-02 15:23:44 -0400
committerCarl Lerche <me@carllerche.com>2019-08-02 12:23:44 -0700
commitff41108834ab8fdf92e5c337b46637ba696d89c7 (patch)
treeb11dd84a9443281b03432a68a016be813f58017a /tokio/tests/io_copy.rs
parent6b202722ea78548b941b3aa6e92ff281a7ce42c5 (diff)
io: move io helpers back into `tokio-io` (#1377)
Utilities are made optional with a feature flag.
Diffstat (limited to 'tokio/tests/io_copy.rs')
-rw-r--r--tokio/tests/io_copy.rs61
1 files changed, 0 insertions, 61 deletions
diff --git a/tokio/tests/io_copy.rs b/tokio/tests/io_copy.rs
deleted file mode 100644
index 2fac7e85..00000000
--- a/tokio/tests/io_copy.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-#![deny(warnings, rust_2018_idioms)]
-#![feature(async_await)]
-
-use tokio::io::{AsyncRead, AsyncReadExt, AsyncWrite};
-use tokio_test::assert_ok;
-
-use bytes::BytesMut;
-use std::io;
-use std::pin::Pin;
-use std::task::{Context, Poll};
-
-#[tokio::test]
-async fn copy() {
- struct Rd(bool);
-
- impl AsyncRead for Rd {
- fn poll_read(
- mut self: Pin<&mut Self>,
- _cx: &mut Context<'_>,
- buf: &mut [u8],
- ) -> Poll<io::Result<usize>> {
- if self.0 {
- buf[0..11].copy_from_slice(b"hello world");
- self.0 = false;
- Poll::Ready(Ok(11))
- } else {
- Poll::Ready(Ok(0))
- }
- }
- }
-
- struct Wr(BytesMut);
-
- impl Unpin for Wr {}
- impl AsyncWrite for Wr {
- fn poll_write(
- mut self: Pin<&mut Self>,
- _cx: &mut Context<'_>,
- buf: &[u8],
- ) -> Poll<io::Result<usize>> {
- self.0.extend(buf);
- Ok(buf.len()).into()
- }
-
- fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<io::Result<()>> {
- Ok(()).into()
- }
-
- fn poll_shutdown(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<io::Result<()>> {
- Ok(()).into()
- }
- }
-
- let buf = BytesMut::with_capacity(64);
- let mut rd = Rd(true);
- let mut wr = Wr(buf);
-
- let n = assert_ok!(rd.copy(&mut wr).await);
- assert_eq!(n, 11);
- assert_eq!(wr.0[..], b"hello world"[..]);
-}