Chromium Code Reviews| Index: cc/base/list_container_unittest.cc |
| diff --git a/cc/base/list_container_unittest.cc b/cc/base/list_container_unittest.cc |
| index 2c56e85edde2dcdc98db94f9f45f87568147835c..99d23af7ab0b5da1690a564d47f1d48ee5bc2f13 100644 |
| --- a/cc/base/list_container_unittest.cc |
| +++ b/cc/base/list_container_unittest.cc |
| @@ -881,8 +881,7 @@ TEST(ListContainerTest, AppendByMovingReplacesSourceWithNewDerivedElement) { |
| // AppendByMoving replaces the source element with a new derived element so |
| // we do not expect sizes to shrink after AppendByMoving is called. |
| - EXPECT_EQ(2u, |
| - list_1.size()); // One direct allocation and one AppendByMoving. |
| + EXPECT_EQ(2u, list_1.size()); // One direct allocation, one AppendByMoving. |
|
danakj
2015/06/24 17:53:11
teehee
|
| EXPECT_EQ(1u, list_2.size()); // One AppendByMoving. |
| } |
| @@ -954,5 +953,40 @@ TEST(ListContainerTest, AppendByMovingLongAndSimpleDerivedElements) { |
| list.back()->get_value()); |
| } |
| +TEST(ListContainerTest, Swap) { |
| + ListContainer<SimpleDerivedElement> list_1(kCurrentLargestDerivedElementSize); |
| + list_1.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberOne>(); |
| + ListContainer<SimpleDerivedElement> list_2(kCurrentLargestDerivedElementSize); |
| + list_2.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberTwo>(); |
| + list_2.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberTwo>(); |
| + |
| + SimpleDerivedElement* pre_swap_list_1_front = list_1.front(); |
| + |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, |
| + list_1.front()->get_value()); |
|
chrishtr
2015/06/24 17:52:52
Why not check back() also?
|
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, |
| + list_2.front()->get_value()); |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, |
| + list_2.back()->get_value()); |
| + EXPECT_EQ(1u, list_1.size()); |
| + EXPECT_EQ(2u, list_2.size()); |
| + |
| + list_2.swap(list_1); |
| + |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, |
| + list_1.front()->get_value()); |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, |
| + list_1.back()->get_value()); |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, |
| + list_2.front()->get_value()); |
| + EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, |
| + list_2.back()->get_value()); |
|
danakj
2015/06/24 17:53:11
no need to check back here, since the size is 1 (v
|
| + EXPECT_EQ(2u, list_1.size()); |
| + EXPECT_EQ(1u, list_2.size()); |
| + |
| + // Ensure pointers are still valid after swapping. |
| + EXPECT_EQ(pre_swap_list_1_front, list_2.front()); |
| +} |
| + |
| } // namespace |
| } // namespace cc |