Skip to content

Commit 3ca8b20

Browse files
committed
move tests
1 parent e37cbd8 commit 3ca8b20

4 files changed

Lines changed: 46 additions & 62 deletions

File tree

‎digest-io-async/src/lib.rs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@
1010
mod reader;
1111
mod writer;
1212

13-
pub use self::{reader::HashReader,
14-
writer::HashWriter};
13+
pub use self::{reader::HashReader, writer::HashWriter};

‎digest-io-async/src/reader.rs‎

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -130,31 +130,3 @@ impl<D: Digest + Reset, R> Reset for HashReader<D, R> {
130130
Digest::reset(&mut self.hasher)
131131
}
132132
}
133-
134-
#[cfg(test)]
135-
mod tests {
136-
use super::HashReader;
137-
use bytes::Bytes;
138-
use digest::Digest;
139-
use futures::stream;
140-
use sha2::Sha256;
141-
use tokio_util::io::StreamReader;
142-
143-
#[tokio::test]
144-
async fn test_async_read() {
145-
let data = b"the quick brown fox jumps over the lazy dog".repeat(1000);
146-
147-
// Feed the stream chunk by chunk with an odd sized buffer.
148-
let chunks = stream::iter(
149-
data.chunks(37)
150-
.map(|c| Ok::<_, std::io::Error>(Bytes::copy_from_slice(c)))
151-
.collect::<Vec<_>>(),
152-
);
153-
let mut reader = HashReader::<Sha256, _>::new(StreamReader::new(chunks));
154-
let mut sink = Vec::new();
155-
tokio::io::copy(&mut reader, &mut sink).await.unwrap();
156-
157-
assert_eq!(sink, data);
158-
assert_eq!(reader.finalize(), Sha256::digest(&data));
159-
}
160-
}

‎digest-io-async/src/writer.rs‎

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -136,35 +136,3 @@ impl<D: Digest + Reset, W> Reset for HashWriter<D, W> {
136136
Digest::reset(&mut self.hasher)
137137
}
138138
}
139-
140-
#[cfg(test)]
141-
mod tests {
142-
use super::HashWriter;
143-
use bytes::Bytes;
144-
use digest::Digest;
145-
use futures::stream;
146-
use sha2::Sha256;
147-
use tokio::io::AsyncWriteExt;
148-
use tokio_util::io::StreamReader;
149-
150-
#[tokio::test]
151-
async fn test_async_write() {
152-
let data = b"the quick brown fox jumps over the lazy dog".repeat(1000);
153-
154-
// Feed the stream chunk by chunk with an odd sized buffer.
155-
let chunks = stream::iter(
156-
data.chunks(37)
157-
.map(|c| Ok::<_, std::io::Error>(Bytes::copy_from_slice(c)))
158-
.collect::<Vec<_>>(),
159-
);
160-
let mut source = StreamReader::new(chunks);
161-
162-
let mut writer = HashWriter::<Sha256, _>::new(Vec::new());
163-
tokio::io::copy(&mut source, &mut writer).await.unwrap();
164-
writer.flush().await.unwrap();
165-
166-
let (hasher, sink) = writer.into_parts();
167-
assert_eq!(sink, data);
168-
assert_eq!(hasher.finalize(), Sha256::digest(&data));
169-
}
170-
}

‎digest-io-async/tests/mod.rs‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
use crate::{HashReader, HashWriter};
2+
use bytes::Bytes;
3+
use digest::Digest;
4+
use futures::stream;
5+
use sha2::Sha256;
6+
use tokio_util::io::StreamReader;
7+
8+
#[tokio::test]
9+
async fn test_async_read() {
10+
let data = b"the quick brown fox jumps over the lazy dog".repeat(1000);
11+
12+
// Feed the stream chunk by chunk with an odd sized buffer.
13+
let chunks = stream::iter(
14+
data.chunks(37)
15+
.map(|c| Ok::<_, std::io::Error>(Bytes::copy_from_slice(c)))
16+
.collect::<Vec<_>>(),
17+
);
18+
let mut reader = HashReader::<Sha256, _>::new(StreamReader::new(chunks));
19+
let mut sink = Vec::new();
20+
tokio::io::copy(&mut reader, &mut sink).await.unwrap();
21+
22+
assert_eq!(sink, data);
23+
assert_eq!(reader.finalize(), Sha256::digest(&data));
24+
}
25+
26+
#[tokio::test]
27+
async fn test_async_write() {
28+
let data = b"the quick brown fox jumps over the lazy dog".repeat(1000);
29+
30+
// Feed the stream chunk by chunk with an odd sized buffer.
31+
let chunks = stream::iter(
32+
data.chunks(37)
33+
.map(|c| Ok::<_, std::io::Error>(Bytes::copy_from_slice(c)))
34+
.collect::<Vec<_>>(),
35+
);
36+
let mut source = StreamReader::new(chunks);
37+
38+
let mut writer = HashWriter::<Sha256, _>::new(Vec::new());
39+
tokio::io::copy(&mut source, &mut writer).await.unwrap();
40+
writer.flush().await.unwrap();
41+
42+
let (hasher, sink) = writer.into_parts();
43+
assert_eq!(sink, data);
44+
assert_eq!(hasher.finalize(), Sha256::digest(&data));
45+
}

0 commit comments

Comments
 (0)