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

Side by Side Diff: ui/app_list/app_list_model_unittest.cc

Issue 1003393002: After uninstall, remove last item in Launcher folder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More revisions, remove unneeded function Created 5 years, 8 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 unified diff | Download patch
« no previous file with comments | « ui/app_list/app_list_model.cc ('k') | ui/app_list/views/apps_grid_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « ui/app_list/app_list_model.cc ('k') | ui/app_list/views/apps_grid_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698