about summary refs log tree commit diff
path: root/library/std/src/io/tests.rs
diff options
context:
space:
mode:
authorBenoît du Garreau <bdgdlm@outlook.com>2021-06-10 19:09:04 +0200
committerBenoît du Garreau <bdgdlm@outlook.com>2021-06-10 19:16:55 +0200
commit2cbd5d1df54400b8bd718b7e0dadc4c38c6f9932 (patch)
treea7c9656ab869d5514c93b72061e7ee930a7d9c4b /library/std/src/io/tests.rs
parent0279cb11ed98bdc589c66572477fd27f1dd3e0ac (diff)
downloadrust-2cbd5d1df54400b8bd718b7e0dadc4c38c6f9932.tar.gz
rust-2cbd5d1df54400b8bd718b7e0dadc4c38c6f9932.zip
Specialize `io::Bytes::size_hint` for more types
Diffstat (limited to 'library/std/src/io/tests.rs')
-rw-r--r--library/std/src/io/tests.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/library/std/src/io/tests.rs b/library/std/src/io/tests.rs
index 2b14e161503..a483847fb26 100644
--- a/library/std/src/io/tests.rs
+++ b/library/std/src/io/tests.rs
@@ -225,6 +225,24 @@ fn empty_size_hint() {
 }
 
 #[test]
+fn slice_size_hint() {
+    let size_hint = (&[1, 2, 3]).bytes().size_hint();
+    assert_eq!(size_hint, (3, Some(3)));
+}
+
+#[test]
+fn take_size_hint() {
+    let size_hint = (&[1, 2, 3]).take(2).bytes().size_hint();
+    assert_eq!(size_hint, (2, Some(2)));
+
+    let size_hint = (&[1, 2, 3]).take(4).bytes().size_hint();
+    assert_eq!(size_hint, (3, Some(3)));
+
+    let size_hint = io::repeat(0).take(3).bytes().size_hint();
+    assert_eq!(size_hint, (3, Some(3)));
+}
+
+#[test]
 fn chain_empty_size_hint() {
     let chain = io::empty().chain(io::empty());
     let size_hint = chain.bytes().size_hint();
@@ -242,7 +260,7 @@ fn chain_size_hint() {
 
     let chain = buf_reader_1.chain(buf_reader_2);
     let size_hint = chain.bytes().size_hint();
-    assert_eq!(size_hint, (testdata.len(), None));
+    assert_eq!(size_hint, (testdata.len(), Some(testdata.len())));
 }
 
 #[test]