Skip to content

Commit 04069e2

Browse files
committed
---
yaml --- r: 273443 b: refs/heads/beta c: 0adcd64 h: refs/heads/master i: 273441: 957173e 273439: 28e82b2
1 parent c656f1d commit 04069e2

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: c20cd8fac97fe4d4594d6f78b3adb0e9b171c3bf
26+
refs/heads/beta: 0adcd641149bd32cb3d6d7ea8a8140322e500ae1
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/src/libstd/collections/hash/map.rs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1706,6 +1706,20 @@ mod test_map {
17061706
assert_eq!(*m.get(&2).unwrap(), 4);
17071707
}
17081708

1709+
#[test]
1710+
fn test_clone() {
1711+
let mut m = HashMap::new();
1712+
assert_eq!(m.len(), 0);
1713+
assert!(m.insert(1, 2).is_none());
1714+
assert_eq!(m.len(), 1);
1715+
assert!(m.insert(2, 4).is_none());
1716+
assert_eq!(m.len(), 2);
1717+
let m2 = m.clone();
1718+
assert_eq!(*m2.get(&1).unwrap(), 2);
1719+
assert_eq!(*m2.get(&2).unwrap(), 4);
1720+
assert_eq!(m2.len(), 2);
1721+
}
1722+
17091723
thread_local! { static DROP_VECTOR: RefCell<Vec<isize>> = RefCell::new(Vec::new()) }
17101724

17111725
#[derive(Hash, PartialEq, Eq)]
@@ -1797,7 +1811,7 @@ mod test_map {
17971811
}
17981812

17991813
#[test]
1800-
fn test_move_iter_drops() {
1814+
fn test_into_iter_drops() {
18011815
DROP_VECTOR.with(|v| {
18021816
*v.borrow_mut() = vec![0; 200];
18031817
});
@@ -1862,11 +1876,35 @@ mod test_map {
18621876
}
18631877

18641878
#[test]
1865-
fn test_empty_pop() {
1879+
fn test_empty_remove() {
18661880
let mut m: HashMap<isize, bool> = HashMap::new();
18671881
assert_eq!(m.remove(&0), None);
18681882
}
18691883

1884+
#[test]
1885+
fn test_empty_entry() {
1886+
let mut m: HashMap<isize, bool> = HashMap::new();
1887+
match m.entry(0) {
1888+
Occupied(_) => panic!(),
1889+
Vacant(_) => {}
1890+
}
1891+
assert!(*m.entry(0).or_insert(true));
1892+
assert_eq!(m.len(), 1);
1893+
}
1894+
1895+
#[test]
1896+
fn test_empty_iter() {
1897+
let mut m: HashMap<isize, bool> = HashMap::new();
1898+
assert_eq!(m.drain().next(), None);
1899+
assert_eq!(m.keys().next(), None);
1900+
assert_eq!(m.values().next(), None);
1901+
assert_eq!(m.iter().next(), None);
1902+
assert_eq!(m.iter_mut().next(), None);
1903+
assert_eq!(m.len(), 0);
1904+
assert!(m.is_empty());
1905+
assert_eq!(m.into_iter().next(), None);
1906+
}
1907+
18701908
#[test]
18711909
fn test_lots_of_insertions() {
18721910
let mut m = HashMap::new();

0 commit comments

Comments
 (0)