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

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: Move work from views to model, as per reviewer comment 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
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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698