| 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 AppListItem* item0 = model_.CreateAndAddItem("Item 0"); |
| 443 AppListItem* item1 = model_.CreateAndAddItem("Item 1"); |
| 444 AppListItem* item2 = model_.CreateAndAddItem("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(item0, folder1->id(), item0->position()); |
| 451 model_.MoveItemToFolderAt(item1, folder1->id(), item1->position()); |
| 452 model_.MoveItemToFolderAt(item2, folder1->id(), item2->position()); |
| 453 EXPECT_EQ("Item 0,Item 1,Item 2", GetItemListContents(folder1->item_list())); |
| 454 EXPECT_EQ("folder1", GetModelContents()); |
| 455 |
| 456 // Delete Item 2 from folder. |
| 457 model_.DeleteUninstalledItem("Item 2"); |
| 458 EXPECT_EQ("Item 0,Item 1", GetItemListContents(folder1->item_list())); |
| 459 EXPECT_EQ("folder1", GetModelContents()); |
| 460 |
| 461 // Delete Item 1 from folder, should reparent Item 0 and delete folder1. |
| 462 model_.DeleteUninstalledItem("Item 1"); |
| 463 EXPECT_EQ(nullptr, model_.FindItem("folder1")); |
| 464 EXPECT_EQ("Item 0", GetModelContents()); |
| 465 } |
| 466 |
| 467 TEST_F(AppListModelFolderTest, UninstallSingleItemFolderItem) { |
| 468 AppListItem* item0 = model_.CreateAndAddItem("Item 0"); |
| 469 AppListFolderItem* folder1 = static_cast<AppListFolderItem*>(model_.AddItem( |
| 470 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL))); |
| 471 EXPECT_EQ("Item 0,folder1", GetModelContents()); |
| 472 |
| 473 // Move item0 to folder1. |
| 474 model_.MoveItemToFolderAt(item0, folder1->id(), item0->position()); |
| 475 EXPECT_EQ("Item 0", GetItemListContents(folder1->item_list())); |
| 476 EXPECT_EQ("folder1", GetModelContents()); |
| 477 |
| 478 // Delete only item from folder, folder should also be removed. |
| 479 model_.DeleteUninstalledItem("Item 0"); |
| 480 EXPECT_EQ(nullptr, model_.FindItem("folder1")); |
| 481 EXPECT_EQ("", GetModelContents()); |
| 482 } |
| 483 |
| 441 TEST_F(AppListModelFolderTest, FindItemInFolder) { | 484 TEST_F(AppListModelFolderTest, FindItemInFolder) { |
| 442 AppListFolderItem* folder = | 485 AppListFolderItem* folder = |
| 443 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL); | 486 new AppListFolderItem("folder1", AppListFolderItem::FOLDER_TYPE_NORMAL); |
| 444 EXPECT_TRUE(folder); | 487 EXPECT_TRUE(folder); |
| 445 model_.AddItem(folder); | 488 model_.AddItem(folder); |
| 446 std::string folder_id = folder->id(); | 489 std::string folder_id = folder->id(); |
| 447 AppListItem* item0 = new AppListItem("Item 0"); | 490 AppListItem* item0 = new AppListItem("Item 0"); |
| 448 model_.AddItemToFolder(item0, folder_id); | 491 model_.AddItemToFolder(item0, folder_id); |
| 449 AppListItem* found_item = model_.FindItem(item0->id()); | 492 AppListItem* found_item = model_.FindItem(item0->id()); |
| 450 ASSERT_EQ(item0, found_item); | 493 ASSERT_EQ(item0, found_item); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 model_.SetFoldersEnabled(false); | 543 model_.SetFoldersEnabled(false); |
| 501 ASSERT_FALSE(model_.FindFolderItem(folder_id)); | 544 ASSERT_FALSE(model_.FindFolderItem(folder_id)); |
| 502 ASSERT_TRUE(model_.FindFolderItem(oem_folder_id)); | 545 ASSERT_TRUE(model_.FindFolderItem(oem_folder_id)); |
| 503 EXPECT_EQ("Item 0,Item 1,oem_folder", GetModelContents()); | 546 EXPECT_EQ("Item 0,Item 1,oem_folder", GetModelContents()); |
| 504 | 547 |
| 505 // Ensure folder creation fails. | 548 // Ensure folder creation fails. |
| 506 EXPECT_EQ(std::string(), model_.MergeItems(item0->id(), item1->id())); | 549 EXPECT_EQ(std::string(), model_.MergeItems(item0->id(), item1->id())); |
| 507 } | 550 } |
| 508 | 551 |
| 509 } // namespace app_list | 552 } // namespace app_list |
| OLD | NEW |