Add tests for From<Vec<_>> and From<[_]>.

This commit is contained in:
nsan1129
2017-09-26 11:30:25 -07:00
parent deb94efcbe
commit 5fc7b81c74
+25
View File
@@ -1566,6 +1566,31 @@ pub mod tests {
fn test_from() {
assert_eq!(&SmallVec::<[u32; 2]>::from(&[1][..])[..], [1]);
assert_eq!(&SmallVec::<[u32; 2]>::from(&[1, 2, 3][..])[..], [1, 2, 3]);
let vec = vec![];
let small_vec: SmallVec<[u8; 3]> = SmallVec::from(vec);
assert_eq!(&*small_vec, &[]);
drop(small_vec);
let vec = vec![1, 2, 3, 4, 5];
let small_vec: SmallVec<[u8; 3]> = SmallVec::from(vec);
assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
drop(small_vec);
let vec = vec![1, 2, 3, 4, 5];
let small_vec: SmallVec<[u8; 1]> = SmallVec::from(vec);
assert_eq!(&*small_vec, &[1, 2, 3, 4, 5]);
drop(small_vec);
let array = [1];
let small_vec: SmallVec<[u8; 1]> = SmallVec::from(array);
assert_eq!(&*small_vec, &[1]);
drop(small_vec);
let array = [99; 128];
let small_vec: SmallVec<[u8; 128]> = SmallVec::from(array);
assert_eq!(&*small_vec, vec![99u8; 128].as_slice());
drop(small_vec);
}
#[test]