Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/app_list/app_list_model.h" | 5 #include "ui/app_list/app_list_model.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 431 | 431 |
| 432 // Move item1 to a non-existant folder2 which should get created. | 432 // Move item1 to a non-existant folder2 which should get created. |
| 433 model_.MoveItemToFolder(item1, "folder2"); | 433 model_.MoveItemToFolder(item1, "folder2"); |
| 434 ASSERT_EQ(2u, model_.top_level_item_list()->item_count()); | 434 ASSERT_EQ(2u, model_.top_level_item_list()->item_count()); |
| 435 ASSERT_EQ(1u, folder1->item_list()->item_count()); | 435 ASSERT_EQ(1u, folder1->item_list()->item_count()); |
| 436 EXPECT_EQ("folder2", item1->folder_id()); | 436 EXPECT_EQ("folder2", item1->folder_id()); |
| 437 AppListFolderItem* folder2 = model_.FindFolderItem("folder2"); | 437 AppListFolderItem* folder2 = model_.FindFolderItem("folder2"); |
| 438 ASSERT_TRUE(folder2); | 438 ASSERT_TRUE(folder2); |
| 439 } | 439 } |
| 440 | 440 |
| 441 TEST_F(AppListModelFolderTest, UninstallFolderItems) { | |
| 442 model_.AddItem(new AppListItem("Item 0")); | |
| 443 model_.AddItem(new AppListItem("Item 1")); | |
| 444 model_.AddItem(new AppListItem("Item 2")); | |
| 445 AppListFolderItem* folder1 = static_cast<AppListFolderItem*>(model_.AddItem( | |
| 446 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL))); | |
| 447 EXPECT_EQ("Item 0,Item 1,Item 2,folder1", GetModelContents()); | |
| 448 | |
| 449 // Move all items to folder1. | |
| 450 model_.MoveItemToFolderAt(model_.top_level_item_list()->item_at(0), | |
| 451 folder1->id(), syncer::StringOrdinal()); | |
| 452 model_.MoveItemToFolderAt(model_.top_level_item_list()->item_at(0), | |
| 453 folder1->id(), | |
| 454 folder1->item_list()->item_at(0)->position()); | |
| 455 model_.MoveItemToFolderAt(model_.top_level_item_list()->item_at(0), | |
| 456 folder1->id(), | |
| 457 folder1->item_list()->item_at(0)->position()); | |
|
stevenjb
2015/03/25 22:24:01
This is a little unclear, relying on the fact that
Greg Levin
2015/03/26 19:45:11
Done.
(I find the current version more unclear, bu
stevenjb
2015/03/30 17:23:59
'position' is a StringOrdinal, which uses strings
Greg Levin
2015/03/30 23:08:52
Ok, thanks. I'll ask for more detail if I ever ne
| |
| 458 EXPECT_EQ("Item 2,Item 1,Item 0", GetItemListContents(folder1->item_list())); | |
| 459 EXPECT_EQ("folder1", GetModelContents()); | |
| 460 | |
| 461 // Delete Item 2 from folder. | |
| 462 model_.DeleteUninstalledItem("Item 2"); | |
| 463 EXPECT_EQ("Item 1,Item 0", GetItemListContents(folder1->item_list())); | |
| 464 EXPECT_EQ("folder1", GetModelContents()); | |
| 465 | |
| 466 // Delete Item 1 from folder, should reparent Item 0 and delete folder1. | |
| 467 model_.DeleteUninstalledItem("Item 1"); | |
| 468 EXPECT_EQ(nullptr, model_.FindItem("folder1")); | |
| 469 EXPECT_EQ("Item 0", GetModelContents()); | |
| 470 } | |
|
stevenjb
2015/03/25 22:24:01
We should also add a test that creates a single it
Greg Levin
2015/03/26 19:45:11
Done.
| |
| 471 | |
| 441 TEST_F(AppListModelFolderTest, FindItemInFolder) { | 472 TEST_F(AppListModelFolderTest, FindItemInFolder) { |
| 442 AppListFolderItem* folder = | 473 AppListFolderItem* folder = |
| 443 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL); | 474 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL); |
| 444 EXPECT_TRUE(folder); | 475 EXPECT_TRUE(folder); |
| 445 model_.AddItem(folder); | 476 model_.AddItem(folder); |
| 446 std::string folder_id = folder->id(); | 477 std::string folder_id = folder->id(); |
| 447 AppListItem* item0 = new AppListItem("Item 0"); | 478 AppListItem* item0 = new AppListItem("Item 0"); |
| 448 model_.AddItemToFolder(item0, folder_id); | 479 model_.AddItemToFolder(item0, folder_id); |
| 449 AppListItem* found_item = model_.FindItem(item0->id()); | 480 AppListItem* found_item = model_.FindItem(item0->id()); |
| 450 ASSERT_EQ(item0, found_item); | 481 ASSERT_EQ(item0, found_item); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 500 model_.SetFoldersEnabled(false); | 531 model_.SetFoldersEnabled(false); |
| 501 ASSERT_FALSE(model_.FindFolderItem(folder_id)); | 532 ASSERT_FALSE(model_.FindFolderItem(folder_id)); |
| 502 ASSERT_TRUE(model_.FindFolderItem(oem_folder_id)); | 533 ASSERT_TRUE(model_.FindFolderItem(oem_folder_id)); |
| 503 EXPECT_EQ("Item 0,Item 1,oem_folder", GetModelContents()); | 534 EXPECT_EQ("Item 0,Item 1,oem_folder", GetModelContents()); |
| 504 | 535 |
| 505 // Ensure folder creation fails. | 536 // Ensure folder creation fails. |
| 506 EXPECT_EQ(std::string(), model_.MergeItems(item0->id(), item1->id())); | 537 EXPECT_EQ(std::string(), model_.MergeItems(item0->id(), item1->id())); |
| 507 } | 538 } |
| 508 | 539 |
| 509 } // namespace app_list | 540 } // namespace app_list |
| OLD | NEW |