| Index: ui/base/models/list_model_unittest.cc
|
| diff --git a/ui/base/models/list_model_unittest.cc b/ui/base/models/list_model_unittest.cc
|
| index 75921f799aea999ced7f1016caba07eb9277ba7d..56661671547e80687e72689c8703ec67043eab13 100644
|
| --- a/ui/base/models/list_model_unittest.cc
|
| +++ b/ui/base/models/list_model_unittest.cc
|
| @@ -28,19 +28,22 @@ class ListModelTest : public testing::Test,
|
| ListModelTest()
|
| : added_count_(0),
|
| removed_count_(0),
|
| + moved_count_(0),
|
| changed_count_(0) {
|
| }
|
|
|
| void ExpectCountsEqual(size_t added_count,
|
| size_t removed_count,
|
| + size_t moved_count,
|
| size_t changed_count) {
|
| EXPECT_EQ(added_count, added_count_);
|
| EXPECT_EQ(removed_count, removed_count_);
|
| + EXPECT_EQ(moved_count, moved_count_);
|
| EXPECT_EQ(changed_count, changed_count_);
|
| }
|
|
|
| void ClearCounts() {
|
| - added_count_ = removed_count_ = changed_count_ = 0;
|
| + added_count_ = removed_count_ = moved_count_ = changed_count_ = 0;
|
| }
|
|
|
| // ListModelObserver implementation:
|
| @@ -50,6 +53,9 @@ class ListModelTest : public testing::Test,
|
| virtual void ListItemsRemoved(size_t start, size_t count) OVERRIDE {
|
| removed_count_ += count;
|
| }
|
| + virtual void ListItemMoved(size_t index, size_t target_index) OVERRIDE {
|
| + ++moved_count_;
|
| + }
|
| virtual void ListItemsChanged(size_t start, size_t count) OVERRIDE {
|
| changed_count_ += count;
|
| }
|
| @@ -57,6 +63,7 @@ class ListModelTest : public testing::Test,
|
| private:
|
| size_t added_count_;
|
| size_t removed_count_;
|
| + size_t moved_count_;
|
| size_t changed_count_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ListModelTest);
|
| @@ -68,17 +75,17 @@ TEST_F(ListModelTest, Add) {
|
|
|
| // Append FooItem(0)
|
| model.Add(new FooItem(0));
|
| - ExpectCountsEqual(1, 0, 0);
|
| + ExpectCountsEqual(1, 0, 0, 0);
|
|
|
| // Append FooItem(1)
|
| model.Add(new FooItem(1));
|
| - ExpectCountsEqual(2, 0, 0);
|
| + ExpectCountsEqual(2, 0, 0, 0);
|
|
|
| // Insert FooItem(2) at position 0
|
| model.AddAt(0, new FooItem(2));
|
| - ExpectCountsEqual(3, 0, 0);
|
| + ExpectCountsEqual(3, 0, 0, 0);
|
|
|
| - // Total 3 items in mode.
|
| + // Total 3 items in model.
|
| EXPECT_EQ(3U, model.item_count());
|
|
|
| // First one should be FooItem(2), followed by FooItem(0) and FooItem(1)
|
| @@ -99,7 +106,7 @@ TEST_F(ListModelTest, Remove) {
|
|
|
| // Remove item at index 1 from model and release memory.
|
| model.DeleteAt(1);
|
| - ExpectCountsEqual(0, 1, 0);
|
| + ExpectCountsEqual(0, 1, 0, 0);
|
|
|
| EXPECT_EQ(2U, model.item_count());
|
| EXPECT_EQ(0, model.GetItemAt(0)->id());
|
| @@ -107,7 +114,7 @@ TEST_F(ListModelTest, Remove) {
|
|
|
| // Remove all items from model and delete them.
|
| model.DeleteAll();
|
| - ExpectCountsEqual(0, 3, 0);
|
| + ExpectCountsEqual(0, 3, 0, 0);
|
| }
|
|
|
| TEST_F(ListModelTest, RemoveAll) {
|
| @@ -126,7 +133,25 @@ TEST_F(ListModelTest, RemoveAll) {
|
|
|
| // Remove all items and scoped_ptr above would release memory.
|
| model.RemoveAll();
|
| - ExpectCountsEqual(0, 3, 0);
|
| + ExpectCountsEqual(0, 3, 0, 0);
|
| +}
|
| +
|
| +TEST_F(ListModelTest, Move) {
|
| + ListModel<FooItem> model;
|
| + model.AddObserver(this);
|
| +
|
| + model.Add(new FooItem(0));
|
| + model.Add(new FooItem(1));
|
| + model.Add(new FooItem(2));
|
| +
|
| + ClearCounts();
|
| +
|
| + // Moves item at index 0 to index 2.
|
| + model.Move(0, 2);
|
| + ExpectCountsEqual(0, 0, 1, 0);
|
| + EXPECT_EQ(1, model.GetItemAt(0)->id());
|
| + EXPECT_EQ(2, model.GetItemAt(1)->id());
|
| + EXPECT_EQ(0, model.GetItemAt(2)->id());
|
| }
|
|
|
| TEST_F(ListModelTest, FakeUpdate) {
|
| @@ -140,10 +165,10 @@ TEST_F(ListModelTest, FakeUpdate) {
|
| ClearCounts();
|
|
|
| model.NotifyItemsChanged(0, 1);
|
| - ExpectCountsEqual(0, 0, 1);
|
| + ExpectCountsEqual(0, 0, 0, 1);
|
|
|
| model.NotifyItemsChanged(1, 2);
|
| - ExpectCountsEqual(0, 0, 3);
|
| + ExpectCountsEqual(0, 0, 0, 3);
|
| }
|
|
|
| } // namespace ui
|
|
|