Chromium Code Reviews| Index: chrome/browser/ui/app_list/app_context_menu_unittest.cc |
| diff --git a/chrome/browser/ui/app_list/app_context_menu_unittest.cc b/chrome/browser/ui/app_list/app_context_menu_unittest.cc |
| index cd7ea1dc8e96d43e84bf5643deb2a625bebb10e2..536450c3070f8b12e9dcfb4914750b534ea0e389 100644 |
| --- a/chrome/browser/ui/app_list/app_context_menu_unittest.cc |
| +++ b/chrome/browser/ui/app_list/app_context_menu_unittest.cc |
| @@ -389,4 +389,58 @@ TEST_F(AppContextMenuTest, ArcMenu) { |
| EXPECT_EQ(true, menu->IsEnabledAt(2)); |
| EXPECT_EQ(false, menu->IsItemCheckedAt(2)); |
| } |
| + |
| +TEST_F(AppContextMenuTest, ArcMenuStickyItem) { |
| + ArcAppTest arc_test; |
| + arc_test.SetUp(profile()); |
| + arc_test.bridge_service()->SetReady(); |
| + |
| + arc_test.app_instance()->RefreshAppList(); |
| + arc_test.app_instance()->SendRefreshAppList(arc_test.fake_apps()); |
| + |
| + { |
| + // Verify menu of store |
| + const arc::AppInfo& store_info = arc_test.fake_apps()[0]; |
| + const std::string store_id = ArcAppTest::GetAppId(store_info); |
| + controller()->SetAppPinnable(store_id, |
| + AppListControllerDelegate::PIN_EDITABLE); |
| + ArcAppItem item(profile(), nullptr, store_id, std::string(), true); |
| + ui::MenuModel* menu = item.GetContextMenuModel(); |
| + ASSERT_NE(nullptr, menu); |
| + |
| + ASSERT_EQ(3, menu->GetItemCount()); |
| + EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); |
|
khmel
2016/03/08 00:09:54
nit: I know you followed code style in this file,
victorhsieh0
2016/03/08 00:33:07
Done.
|
| + EXPECT_EQ(true, menu->IsEnabledAt(0)); |
| + EXPECT_EQ(false, menu->IsItemCheckedAt(0)); |
| + EXPECT_EQ(-1, menu->GetCommandIdAt(1)); // separator |
| + EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); |
| + EXPECT_EQ(true, menu->IsEnabledAt(2)); |
| + EXPECT_EQ(false, menu->IsItemCheckedAt(2)); |
| + // No "uninstall" entry. |
| + } |
| + |
| + { |
| + // Verify normal app menu |
| + const arc::AppInfo& app_info = arc_test.fake_apps()[1]; |
| + const std::string app_id = ArcAppTest::GetAppId(app_info); |
| + controller()->SetAppPinnable(app_id, |
| + AppListControllerDelegate::PIN_EDITABLE); |
| + ArcAppItem item(profile(), nullptr, app_id, std::string(), true); |
| + ui::MenuModel* menu = item.GetContextMenuModel(); |
| + ASSERT_NE(nullptr, menu); |
| + |
| + ASSERT_EQ(5, menu->GetItemCount()); |
| + EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); |
| + EXPECT_EQ(true, menu->IsEnabledAt(0)); |
| + EXPECT_EQ(false, menu->IsItemCheckedAt(0)); |
| + EXPECT_EQ(-1, menu->GetCommandIdAt(1)); // separator |
| + EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); |
| + EXPECT_EQ(true, menu->IsEnabledAt(2)); |
| + EXPECT_EQ(false, menu->IsItemCheckedAt(2)); |
| + EXPECT_EQ(-1, menu->GetCommandIdAt(3)); // separator |
| + EXPECT_EQ(app_list::AppContextMenu::UNINSTALL, menu->GetCommandIdAt(4)); |
| + EXPECT_EQ(true, menu->IsEnabledAt(4)); |
| + EXPECT_EQ(false, menu->IsItemCheckedAt(4)); |
| + } |
| +} |
| #endif |