Skip to content

Commit 5c9b311

Browse files
committed
add tests
1 parent d6f87ba commit 5c9b311

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

library/alloctests/tests/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#![feature(char_max_len)]
77
#![feature(cow_is_borrowed)]
88
#![feature(core_intrinsics)]
9+
#![feature(deque_extend_front)]
910
#![feature(downcast_unchecked)]
1011
#![feature(exact_size_is_empty)]
1112
#![feature(hashmap_internals)]

library/alloctests/tests/vec_deque.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1849,3 +1849,46 @@ fn test_truncate_front() {
18491849
v.truncate_front(5);
18501850
assert_eq!(v.as_slices(), ([2, 3, 4, 5, 6].as_slice(), [].as_slice()));
18511851
}
1852+
1853+
#[test]
1854+
fn test_extend_front() {
1855+
let mut v = VecDeque::new();
1856+
v.extend_front(0..3);
1857+
assert_eq!(v, [2, 1, 0]);
1858+
v.extend_front(3..6);
1859+
assert_eq!(v, [5, 4, 3, 2, 1, 0]);
1860+
v.prepend([1; 4]);
1861+
assert_eq!(v, [1, 1, 1, 1, 5, 4, 3, 2, 1, 0]);
1862+
1863+
let mut v = VecDeque::with_capacity(8);
1864+
let cap = v.capacity();
1865+
v.extend(0..4);
1866+
v.truncate_front(2);
1867+
v.extend_front(4..8);
1868+
assert_eq!(v.as_slices(), ([7, 6].as_slice(), [5, 4, 2, 3].as_slice()));
1869+
assert_eq!(v.capacity(), cap);
1870+
1871+
let mut v = VecDeque::new();
1872+
v.extend_front([]);
1873+
v.extend_front(None);
1874+
v.extend_front(vec![]);
1875+
v.prepend([]);
1876+
v.prepend(None);
1877+
v.prepend(vec![]);
1878+
assert_eq!(v.capacity(), 0);
1879+
v.extend_front(Some(123));
1880+
assert_eq!(v, [123]);
1881+
}
1882+
1883+
#[test]
1884+
fn test_extend_front_specialization() {
1885+
let mut v = VecDeque::with_capacity(4);
1886+
v.prepend(vec![1, 2, 3]);
1887+
assert_eq!(v, [1, 2, 3]);
1888+
v.pop_front();
1889+
v.prepend((-4..2).collect::<Vec<_>>());
1890+
assert_eq!(v, (-4..=3).collect::<Vec<_>>());
1891+
v.clear();
1892+
v.extend_front(vec![1, 2, 3]);
1893+
assert_eq!(v, [3, 2, 1]);
1894+
}

0 commit comments

Comments
 (0)