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

Unified Diff: cc/base/list_container_unittest.cc

Issue 1340703002: cc: Add RandomAccessListContainer, which has more restricted API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: cc/base/list_container_unittest.cc
diff --git a/cc/base/list_container_unittest.cc b/cc/base/list_container_unittest.cc
index be0b2b75b4e34824e13e04b024dc430ec80f7fbb..174d606b8afb45edfece8dbf64b8c048590f0dc4 100644
--- a/cc/base/list_container_unittest.cc
+++ b/cc/base/list_container_unittest.cc
@@ -86,7 +86,7 @@ class SimpleDerivedElement : public DerivedElement {
public:
~SimpleDerivedElement() override {}
void set_value(int val) { value = val; }
- int get_value() { return value; }
+ int get_value() const { return value; }
private:
int value;
@@ -1201,5 +1201,35 @@ TEST(ListContainerTest, GetCapacityInBytes) {
}
}
+TEST(RandomAccessListContainerTest, RandomAccess) {
+ RandomAccessListContainer<SimpleDerivedElement> list(
+ LargestDerivedElementSize(), 1);
+
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberOne>();
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberTwo>();
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberThree>();
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberOne>();
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberTwo>();
+ list.AllocateAndConstruct<SimpleDerivedElementConstructMagicNumberThree>();
+
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, list[0]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, list[1]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementThree,
+ list[2]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, list[3]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, list[4]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementThree,
+ list[5]->get_value());
+
+ list.RemoveLast();
+ list.RemoveLast();
+ list.RemoveLast();
+
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementOne, list[0]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementTwo, list[1]->get_value());
+ EXPECT_EQ(kMagicNumberToUseForSimpleDerivedElementThree,
+ list[2]->get_value());
+}
+
} // namespace
} // namespace cc

Powered by Google App Engine
This is Rietveld 408576698