| Index: chrome/browser/ui/ash/launcher/launcher_context_menu_unittest.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/launcher_context_menu_unittest.cc b/chrome/browser/ui/ash/launcher/launcher_context_menu_unittest.cc
|
| index f768df800c37a31f70012e4c392b3aeb7a10ab7c..def41086abb6d5823bbbf845bf7267d0a2ea4875 100644
|
| --- a/chrome/browser/ui/ash/launcher/launcher_context_menu_unittest.cc
|
| +++ b/chrome/browser/ui/ash/launcher/launcher_context_menu_unittest.cc
|
| @@ -22,8 +22,10 @@
|
| #include "chrome/browser/ui/ash/launcher/extension_launcher_context_menu.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "components/arc/test/fake_app_instance.h"
|
| +#include "components/exo/shell_surface.h"
|
| #include "components/prefs/pref_service.h"
|
| #include "ui/aura/window_event_dispatcher.h"
|
| +#include "ui/views/widget/widget.h"
|
|
|
| class LauncherContextMenuTest : public ash::test::AshTestBase {
|
| protected:
|
| @@ -66,6 +68,18 @@ class LauncherContextMenuTest : public ash::test::AshTestBase {
|
| return LauncherContextMenu::Create(controller_.get(), item, GetWmShelf());
|
| }
|
|
|
| + // Creates app window and set optional Arc application id.
|
| + views::Widget* CreateArcWindow(std::string& window_app_id) {
|
| + views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
|
| + views::Widget* widget = new views::Widget();
|
| + widget->Init(params);
|
| + widget->Show();
|
| + widget->Activate();
|
| + exo::ShellSurface::SetApplicationId(widget->GetNativeWindow(),
|
| + &window_app_id);
|
| + return widget;
|
| + }
|
| +
|
| ArcAppTest& arc_test() { return arc_test_; }
|
|
|
| Profile* profile() { return profile_.get(); }
|
| @@ -194,6 +208,8 @@ TEST_F(LauncherContextMenuTest, ArcLauncherContextMenuItemCheck) {
|
| menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER));
|
|
|
| // Arc app is running.
|
| + std::string window_app_id1("org.chromium.arc.1");
|
| + CreateArcWindow(window_app_id1);
|
| arc_test().app_instance()->SendTaskCreated(1, arc_test().fake_apps()[0]);
|
| menu.reset(new ArcLauncherContextMenu(controller(), &item, wm_shelf));
|
|
|
| @@ -203,4 +219,19 @@ TEST_F(LauncherContextMenuTest, ArcLauncherContextMenuItemCheck) {
|
| EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_PIN));
|
| EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
|
| EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE));
|
| +
|
| + // Arc non-launchable app is running.
|
| + const std::string app_id2 = ArcAppTest::GetAppId(arc_test().fake_apps()[1]);
|
| + std::string window_app_id2("org.chromium.arc.2");
|
| + CreateArcWindow(window_app_id2);
|
| + arc_test().app_instance()->SendTaskCreated(2, arc_test().fake_apps()[1]);
|
| + item.id = controller()->GetShelfIDForAppID(app_id2);
|
| + ASSERT_TRUE(item.id);
|
| + menu.reset(new ArcLauncherContextMenu(controller(), &item, wm_shelf));
|
| +
|
| + EXPECT_FALSE(
|
| + IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
|
| + EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
|
| + EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
|
| + EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE));
|
| }
|
|
|