Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: third_party/WebKit/Source/wtf/HashMapTest.cpp

Issue 2673543003: Migrate WTF::HashMap::remove() to ::erase() (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 std::unique_ptr<DestructCounter>& ownCounter = iter->value; 119 std::unique_ptr<DestructCounter>& ownCounter = iter->value;
120 EXPECT_EQ(iter->key, ownCounter->get()); 120 EXPECT_EQ(iter->key, ownCounter->get());
121 } 121 }
122 ASSERT_EQ(0, destructNumber); 122 ASSERT_EQ(0, destructNumber);
123 123
124 std::unique_ptr<DestructCounter> ownCounter1 = map.take(1); 124 std::unique_ptr<DestructCounter> ownCounter1 = map.take(1);
125 EXPECT_EQ(ownCounter1.get(), counter1); 125 EXPECT_EQ(ownCounter1.get(), counter1);
126 EXPECT_FALSE(map.contains(1)); 126 EXPECT_FALSE(map.contains(1));
127 EXPECT_EQ(0, destructNumber); 127 EXPECT_EQ(0, destructNumber);
128 128
129 map.remove(2); 129 map.erase(2);
130 EXPECT_FALSE(map.contains(2)); 130 EXPECT_FALSE(map.contains(2));
131 EXPECT_EQ(0UL, map.size()); 131 EXPECT_EQ(0UL, map.size());
132 EXPECT_EQ(1, destructNumber); 132 EXPECT_EQ(1, destructNumber);
133 133
134 ownCounter1.reset(); 134 ownCounter1.reset();
135 EXPECT_EQ(2, destructNumber); 135 EXPECT_EQ(2, destructNumber);
136 } 136 }
137 137
138 class DummyRefCounted : public RefCounted<DummyRefCounted> { 138 class DummyRefCounted : public RefCounted<DummyRefCounted> {
139 public: 139 public:
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 EXPECT_TRUE(map.contains(rawPtr)); 180 EXPECT_TRUE(map.contains(rawPtr));
181 EXPECT_NE(map.end(), map.find(rawPtr)); 181 EXPECT_NE(map.end(), map.find(rawPtr));
182 EXPECT_TRUE(map.contains(ptr)); 182 EXPECT_TRUE(map.contains(ptr));
183 EXPECT_NE(map.end(), map.find(ptr)); 183 EXPECT_NE(map.end(), map.find(ptr));
184 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount); 184 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount);
185 185
186 ptr.clear(); 186 ptr.clear();
187 EXPECT_FALSE(isDeleted); 187 EXPECT_FALSE(isDeleted);
188 188
189 map.remove(rawPtr); 189 map.erase(rawPtr);
190 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount); 190 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount);
191 EXPECT_TRUE(isDeleted); 191 EXPECT_TRUE(isDeleted);
192 EXPECT_TRUE(map.isEmpty()); 192 EXPECT_TRUE(map.isEmpty());
193 } 193 }
194 194
195 TEST(HashMaptest, RemoveAdd) { 195 TEST(HashMaptest, RemoveAdd) {
196 DummyRefCounted::m_refInvokesCount = 0; 196 DummyRefCounted::m_refInvokesCount = 0;
197 bool isDeleted = false; 197 bool isDeleted = false;
198 198
199 typedef HashMap<int, RefPtr<DummyRefCounted>> Map; 199 typedef HashMap<int, RefPtr<DummyRefCounted>> Map;
200 Map map; 200 Map map;
201 201
202 RefPtr<DummyRefCounted> ptr = adoptRef(new DummyRefCounted(isDeleted)); 202 RefPtr<DummyRefCounted> ptr = adoptRef(new DummyRefCounted(isDeleted));
203 EXPECT_EQ(0, DummyRefCounted::m_refInvokesCount); 203 EXPECT_EQ(0, DummyRefCounted::m_refInvokesCount);
204 204
205 map.add(1, ptr); 205 map.add(1, ptr);
206 // Referenced only once (to store a copy in the container). 206 // Referenced only once (to store a copy in the container).
207 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount); 207 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount);
208 EXPECT_EQ(ptr, map.get(1)); 208 EXPECT_EQ(ptr, map.get(1));
209 209
210 ptr.clear(); 210 ptr.clear();
211 EXPECT_FALSE(isDeleted); 211 EXPECT_FALSE(isDeleted);
212 212
213 map.remove(1); 213 map.erase(1);
214 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount); 214 EXPECT_EQ(1, DummyRefCounted::m_refInvokesCount);
215 EXPECT_TRUE(isDeleted); 215 EXPECT_TRUE(isDeleted);
216 EXPECT_TRUE(map.isEmpty()); 216 EXPECT_TRUE(map.isEmpty());
217 217
218 // Add and remove until the deleted slot is reused. 218 // Add and remove until the deleted slot is reused.
219 for (int i = 1; i < 100; i++) { 219 for (int i = 1; i < 100; i++) {
220 bool isDeleted2 = false; 220 bool isDeleted2 = false;
221 RefPtr<DummyRefCounted> ptr2 = adoptRef(new DummyRefCounted(isDeleted2)); 221 RefPtr<DummyRefCounted> ptr2 = adoptRef(new DummyRefCounted(isDeleted2));
222 map.add(i, ptr2); 222 map.add(i, ptr2);
223 EXPECT_FALSE(isDeleted2); 223 EXPECT_FALSE(isDeleted2);
224 ptr2.clear(); 224 ptr2.clear();
225 EXPECT_FALSE(isDeleted2); 225 EXPECT_FALSE(isDeleted2);
226 map.remove(i); 226 map.erase(i);
227 EXPECT_TRUE(isDeleted2); 227 EXPECT_TRUE(isDeleted2);
228 } 228 }
229 } 229 }
230 230
231 class SimpleClass { 231 class SimpleClass {
232 public: 232 public:
233 explicit SimpleClass(int v) : m_v(v) {} 233 explicit SimpleClass(int v) : m_v(v) {}
234 int v() { return m_v; } 234 int v() { return m_v; }
235 235
236 private: 236 private:
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 EXPECT_EQ(7, iter->key); 392 EXPECT_EQ(7, iter->key);
393 EXPECT_EQ(70, iter->value.value()); 393 EXPECT_EQ(70, iter->value.value());
394 394
395 { 395 {
396 TheMap::AddResult addResult = map.set(9, MoveOnly(999)); 396 TheMap::AddResult addResult = map.set(9, MoveOnly(999));
397 EXPECT_FALSE(addResult.isNewEntry); 397 EXPECT_FALSE(addResult.isNewEntry);
398 EXPECT_EQ(9, addResult.storedValue->key); 398 EXPECT_EQ(9, addResult.storedValue->key);
399 EXPECT_EQ(999, addResult.storedValue->value.value()); 399 EXPECT_EQ(999, addResult.storedValue->value.value());
400 } 400 }
401 401
402 map.remove(11); 402 map.erase(11);
403 iter = map.find(11); 403 iter = map.find(11);
404 EXPECT_TRUE(iter == map.end()); 404 EXPECT_TRUE(iter == map.end());
405 405
406 MoveOnly oneThirty(map.take(13)); 406 MoveOnly oneThirty(map.take(13));
407 EXPECT_EQ(130, oneThirty.value()); 407 EXPECT_EQ(130, oneThirty.value());
408 iter = map.find(13); 408 iter = map.find(13);
409 EXPECT_TRUE(iter == map.end()); 409 EXPECT_TRUE(iter == map.end());
410 410
411 map.clear(); 411 map.clear();
412 } 412 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 EXPECT_EQ(7, iter->key.value()); 447 EXPECT_EQ(7, iter->key.value());
448 EXPECT_EQ(70, iter->value); 448 EXPECT_EQ(70, iter->value);
449 449
450 { 450 {
451 TheMap::AddResult addResult = map.set(MoveOnly(9), 999); 451 TheMap::AddResult addResult = map.set(MoveOnly(9), 999);
452 EXPECT_FALSE(addResult.isNewEntry); 452 EXPECT_FALSE(addResult.isNewEntry);
453 EXPECT_EQ(9, addResult.storedValue->key.value()); 453 EXPECT_EQ(9, addResult.storedValue->key.value());
454 EXPECT_EQ(999, addResult.storedValue->value); 454 EXPECT_EQ(999, addResult.storedValue->value);
455 } 455 }
456 456
457 map.remove(MoveOnly(11)); 457 map.erase(MoveOnly(11));
458 iter = map.find(MoveOnly(11)); 458 iter = map.find(MoveOnly(11));
459 EXPECT_TRUE(iter == map.end()); 459 EXPECT_TRUE(iter == map.end());
460 460
461 int oneThirty = map.take(MoveOnly(13)); 461 int oneThirty = map.take(MoveOnly(13));
462 EXPECT_EQ(130, oneThirty); 462 EXPECT_EQ(130, oneThirty);
463 iter = map.find(MoveOnly(13)); 463 iter = map.find(MoveOnly(13));
464 EXPECT_TRUE(iter == map.end()); 464 EXPECT_TRUE(iter == map.end());
465 465
466 map.clear(); 466 map.clear();
467 } 467 }
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 EXPECT_EQ(70, iter->value); 634 EXPECT_EQ(70, iter->value);
635 635
636 { 636 {
637 TheMap::AddResult addResult = map.set(Pair(MoveOnly(9), -9), 999); 637 TheMap::AddResult addResult = map.set(Pair(MoveOnly(9), -9), 999);
638 EXPECT_FALSE(addResult.isNewEntry); 638 EXPECT_FALSE(addResult.isNewEntry);
639 EXPECT_EQ(9, addResult.storedValue->key.first.value()); 639 EXPECT_EQ(9, addResult.storedValue->key.first.value());
640 EXPECT_EQ(-9, addResult.storedValue->key.second); 640 EXPECT_EQ(-9, addResult.storedValue->key.second);
641 EXPECT_EQ(999, addResult.storedValue->value); 641 EXPECT_EQ(999, addResult.storedValue->value);
642 } 642 }
643 643
644 map.remove(Pair(MoveOnly(11), -11)); 644 map.erase(Pair(MoveOnly(11), -11));
645 iter = map.find(Pair(MoveOnly(11), -11)); 645 iter = map.find(Pair(MoveOnly(11), -11));
646 EXPECT_TRUE(iter == map.end()); 646 EXPECT_TRUE(iter == map.end());
647 647
648 int oneThirty = map.take(Pair(MoveOnly(13), -13)); 648 int oneThirty = map.take(Pair(MoveOnly(13), -13));
649 EXPECT_EQ(130, oneThirty); 649 EXPECT_EQ(130, oneThirty);
650 iter = map.find(Pair(MoveOnly(13), -13)); 650 iter = map.find(Pair(MoveOnly(13), -13));
651 EXPECT_TRUE(iter == map.end()); 651 EXPECT_TRUE(iter == map.end());
652 652
653 map.clear(); 653 map.clear();
654 } 654 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 705
706 // Other ways of construction: as a function parameter and in a return 706 // Other ways of construction: as a function parameter and in a return
707 // statement. 707 // statement.
708 EXPECT_TRUE(isOneTwoThree({{1, 11}, {2, 22}, {3, 33}})); 708 EXPECT_TRUE(isOneTwoThree({{1, 11}, {2, 22}, {3, 33}}));
709 EXPECT_TRUE(isOneTwoThree(returnOneTwoThree())); 709 EXPECT_TRUE(isOneTwoThree(returnOneTwoThree()));
710 } 710 }
711 711
712 } // anonymous namespace 712 } // anonymous namespace
713 713
714 } // namespace WTF 714 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/HashMap.h ('k') | third_party/WebKit/Source/wtf/text/TextEncodingRegistry.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698