about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonrad Borowski <konrad@borowski.pw>2018-12-05 14:52:38 +0100
committerKonrad Borowski <konrad@borowski.pw>2018-12-05 15:40:15 +0100
commitfe45e9a886763e60c2078684bdbab08bceeee9e6 (patch)
treec6507793d9d03fadea360428c446e517ceda3a0b
parentfcc46040a969f48cef92582bc78c792edb90ff8c (diff)
downloadrust-fe45e9a886763e60c2078684bdbab08bceeee9e6.tar.gz
rust-fe45e9a886763e60c2078684bdbab08bceeee9e6.zip
Add tests for Iterator::copied()
-rw-r--r--src/libcore/tests/iter.rs17
-rw-r--r--src/libcore/tests/lib.rs1
2 files changed, 18 insertions, 0 deletions
diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs
index 495483db555..0964aae1db5 100644
--- a/src/libcore/tests/iter.rs
+++ b/src/libcore/tests/iter.rs
@@ -1233,6 +1233,23 @@ fn test_rev() {
 }
 
 #[test]
+fn test_copied() {
+    let xs = [2, 4, 6, 8];
+
+    let mut it = xs.iter().copied();
+    assert_eq!(it.len(), 4);
+    assert_eq!(it.next(), Some(2));
+    assert_eq!(it.len(), 3);
+    assert_eq!(it.next(), Some(4));
+    assert_eq!(it.len(), 2);
+    assert_eq!(it.next_back(), Some(8));
+    assert_eq!(it.len(), 1);
+    assert_eq!(it.next_back(), Some(6));
+    assert_eq!(it.len(), 0);
+    assert_eq!(it.next_back(), None);
+}
+
+#[test]
 fn test_cloned() {
     let xs = [2, 4, 6, 8];
 
diff --git a/src/libcore/tests/lib.rs b/src/libcore/tests/lib.rs
index 58b5ea7ff2d..1f7a8b774d7 100644
--- a/src/libcore/tests/lib.rs
+++ b/src/libcore/tests/lib.rs
@@ -20,6 +20,7 @@
 #![feature(flt2dec)]
 #![feature(fmt_internals)]
 #![feature(hashmap_internals)]
+#![feature(iter_copied)]
 #![feature(iter_unfold)]
 #![feature(pattern)]
 #![feature(range_is_empty)]