summaryrefslogtreecommitdiffstats
path: root/base/id_map_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/id_map_unittest.cc')
-rw-r--r--base/id_map_unittest.cc17
1 files changed, 14 insertions, 3 deletions
diff --git a/base/id_map_unittest.cc b/base/id_map_unittest.cc
index 58abf96..54475b6 100644
--- a/base/id_map_unittest.cc
+++ b/base/id_map_unittest.cc
@@ -67,10 +67,21 @@ TEST_F(IDMapTest, IteratorRemainsValidWhenRemovingCurrentElement) {
map.Add(&obj2);
map.Add(&obj3);
- for (IDMap<TestObject>::const_iterator iter(&map);
- !iter.IsAtEnd(); iter.Advance()) {
- map.Remove(iter.GetCurrentKey());
+ {
+ IDMap<TestObject>::const_iterator iter(&map);
+ while (!iter.IsAtEnd()) {
+ map.Remove(iter.GetCurrentKey());
+ iter.Advance();
+ }
+
+ // Test that while an iterator is still in scope, we get the map emptiness
+ // right (http://crbug.com/35571).
+ EXPECT_TRUE(map.IsEmpty());
+ EXPECT_EQ(0U, map.size());
}
+
+ EXPECT_TRUE(map.IsEmpty());
+ EXPECT_EQ(0U, map.size());
}
TEST_F(IDMapTest, IteratorRemainsValidWhenRemovingOtherElements) {