about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2014-09-23 16:23:27 -0700
committerAaron Turon <aturon@mozilla.com>2014-09-25 17:46:03 -0700
commitc59ef666a53872d0b1629f00c201dc801810da72 (patch)
tree07e7d9504caa04cb1a8b90daed41ed917934bfb5
parentaf3cfcc9eac7adf86488b0ab9aa56e2761dc33d6 (diff)
downloadrust-c59ef666a53872d0b1629f00c201dc801810da72.tar.gz
rust-c59ef666a53872d0b1629f00c201dc801810da72.zip
Add tests for new _mut variants
-rw-r--r--src/libcollections/dlist.rs1
-rw-r--r--src/libcollections/slice.rs84
2 files changed, 81 insertions, 4 deletions
diff --git a/src/libcollections/dlist.rs b/src/libcollections/dlist.rs
index 45f5e98aa3e..87e07b7b1b6 100644
--- a/src/libcollections/dlist.rs
+++ b/src/libcollections/dlist.rs
@@ -844,6 +844,7 @@ mod tests {
     }
 
     #[test]
+    #[allow(deprecated)]
     fn test_append() {
         {
             let mut m = DList::new();
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs
index 525dc9cbe80..45489bbf84e 100644
--- a/src/libcollections/slice.rs
+++ b/src/libcollections/slice.rs
@@ -851,6 +851,16 @@ mod tests {
     }
 
     #[test]
+    fn test_head_mut() {
+        let mut a = vec![];
+        assert_eq!(a.as_mut_slice().head_mut(), None);
+        a = vec![11i];
+        assert_eq!(*a.as_mut_slice().head_mut().unwrap(), 11);
+        a = vec![11i, 12];
+        assert_eq!(*a.as_mut_slice().head_mut().unwrap(), 11);
+    }
+
+    #[test]
     fn test_tail() {
         let mut a = vec![11i];
         let b: &[int] = &[];
@@ -861,6 +871,16 @@ mod tests {
     }
 
     #[test]
+    fn test_tail_mut() {
+        let mut a = vec![11i];
+        let b: &mut [int] = &mut [];
+        assert!(a.as_mut_slice().tail_mut() == b);
+        a = vec![11i, 12];
+        let b: &mut [int] = &mut [12];
+        assert!(a.as_mut_slice().tail_mut() == b);
+    }
+
+    #[test]
     #[should_fail]
     fn test_tail_empty() {
         let a: Vec<int> = vec![];
@@ -868,14 +888,21 @@ mod tests {
     }
 
     #[test]
+    #[should_fail]
+    fn test_tail_mut_empty() {
+        let mut a: Vec<int> = vec![];
+        a.as_mut_slice().tail_mut();
+    }
+
+    #[test]
     #[allow(deprecated)]
     fn test_tailn() {
         let mut a = vec![11i, 12, 13];
-        let b: &[int] = &[11, 12, 13];
-        assert_eq!(a.tailn(0), b);
+        let b: &mut [int] = &mut [11, 12, 13];
+        assert!(a.tailn(0) == b);
         a = vec![11i, 12, 13];
-        let b: &[int] = &[13];
-        assert_eq!(a.tailn(2), b);
+        let b: &mut [int] = &mut [13];
+        assert!(a.tailn(2) == b);
     }
 
     #[test]
@@ -897,6 +924,16 @@ mod tests {
     }
 
     #[test]
+    fn test_init_mut() {
+        let mut a = vec![11i];
+        let b: &mut [int] = &mut [];
+        assert!(a.as_mut_slice().init_mut() == b);
+        a = vec![11i, 12];
+        let b: &mut [int] = &mut [11];
+        assert!(a.as_mut_slice().init_mut() == b);
+    }
+
+    #[test]
     #[should_fail]
     fn test_init_empty() {
         let a: Vec<int> = vec![];
@@ -904,6 +941,13 @@ mod tests {
     }
 
     #[test]
+    #[should_fail]
+    fn test_init_mut_empty() {
+        let mut a: Vec<int> = vec![];
+        a.as_mut_slice().init_mut();
+    }
+
+    #[test]
     #[allow(deprecated)]
     fn test_initn() {
         let mut a = vec![11i, 12, 13];
@@ -933,6 +977,16 @@ mod tests {
     }
 
     #[test]
+    fn test_last_mut() {
+        let mut a = vec![];
+        assert_eq!(a.as_mut_slice().last_mut(), None);
+        a = vec![11i];
+        assert_eq!(*a.as_mut_slice().last_mut().unwrap(), 11);
+        a = vec![11i, 12];
+        assert_eq!(*a.as_mut_slice().last_mut().unwrap(), 12);
+    }
+
+    #[test]
     fn test_slice() {
         // Test fixed length vector.
         let vec_fixed = [1i, 2, 3, 4];
@@ -1077,6 +1131,7 @@ mod tests {
     }
 
     #[test]
+    #[allow(deprecated)]
     fn test_grow_set() {
         let mut v = vec![1i, 2, 3];
         v.grow_set(4u, &4, 5);
@@ -1610,6 +1665,7 @@ mod tests {
 
     #[test]
     #[should_fail]
+    #[allow(deprecated)]
     fn test_copy_memory_oob() {
         unsafe {
             let mut a = [1i, 2, 3, 4];
@@ -1794,6 +1850,26 @@ mod tests {
     }
 
     #[test]
+    fn test_splitnator_mut() {
+        let xs = &mut [1i,2,3,4,5];
+
+        let splits: &[&mut [int]] = &[&mut [1,2,3,4,5]];
+        assert_eq!(xs.splitn_mut(0, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>().as_slice(),
+                   splits);
+        let splits: &[&mut [int]] = &[&mut [1], &mut [3,4,5]];
+        assert_eq!(xs.splitn_mut(1, |x| *x % 2 == 0).collect::<Vec<&mut [int]>>().as_slice(),
+                   splits);
+        let splits: &[&mut [int]] = &[&mut [], &mut [], &mut [], &mut [4,5]];
+        assert_eq!(xs.splitn_mut(3, |_| true).collect::<Vec<&mut [int]>>().as_slice(),
+                   splits);
+
+        let xs: &mut [int] = &mut [];
+        let splits: &[&mut [int]] = &[&mut []];
+        assert_eq!(xs.splitn_mut(1, |x| *x == 5).collect::<Vec<&mut [int]>>().as_slice(),
+                   splits);
+    }
+
+    #[test]
     fn test_rsplitator() {
         let xs = &[1i,2,3,4,5];