| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 <map> | 5 #include <map> | 
| 6 #include <string> | 6 #include <string> | 
| 7 #include <vector> | 7 #include <vector> | 
| 8 | 8 | 
| 9 #include "base/macros.h" | 9 #include "base/macros.h" | 
| 10 #include "base/memory/scoped_vector.h" | 10 #include "base/memory/scoped_vector.h" | 
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 350   arc_test.app_instance()->RefreshAppList(); | 350   arc_test.app_instance()->RefreshAppList(); | 
| 351   arc_test.app_instance()->SendRefreshAppList(arc_test.fake_apps()); | 351   arc_test.app_instance()->SendRefreshAppList(arc_test.fake_apps()); | 
| 352 | 352 | 
| 353   ArcAppItem item(profile(), nullptr, app_id, std::string(), true); | 353   ArcAppItem item(profile(), nullptr, app_id, std::string(), true); | 
| 354 | 354 | 
| 355   ui::MenuModel* menu = item.GetContextMenuModel(); | 355   ui::MenuModel* menu = item.GetContextMenuModel(); | 
| 356   ASSERT_NE(nullptr, menu); | 356   ASSERT_NE(nullptr, menu); | 
| 357 | 357 | 
| 358   ASSERT_EQ(3, menu->GetItemCount()); | 358   ASSERT_EQ(3, menu->GetItemCount()); | 
| 359   EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 359   EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 
| 360   EXPECT_EQ(true, menu->IsEnabledAt(0)); | 360   EXPECT_TRUE(menu->IsEnabledAt(0)); | 
| 361   EXPECT_EQ(false, menu->IsItemCheckedAt(0)); | 361   EXPECT_FALSE(menu->IsItemCheckedAt(0)); | 
| 362   EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 362   EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 
| 363   EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 363   EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 
| 364   EXPECT_EQ(true, menu->IsEnabledAt(2)); | 364   EXPECT_TRUE(menu->IsEnabledAt(2)); | 
| 365   EXPECT_EQ(false, menu->IsItemCheckedAt(2)); | 365   EXPECT_FALSE(menu->IsItemCheckedAt(2)); | 
| 366 | 366 | 
| 367   // Test activate request. | 367   // Test activate request. | 
| 368   EXPECT_EQ(0u, arc_test.app_instance()->launch_requests().size()); | 368   EXPECT_EQ(0u, arc_test.app_instance()->launch_requests().size()); | 
| 369 | 369 | 
| 370   menu->ActivatedAt(0); | 370   menu->ActivatedAt(0); | 
| 371   arc_test.app_instance()->WaitForIncomingMethodCall(); | 371   arc_test.app_instance()->WaitForIncomingMethodCall(); | 
| 372 | 372 | 
| 373   const ScopedVector<arc::FakeAppInstance::Request>& launch_requests = | 373   const ScopedVector<arc::FakeAppInstance::Request>& launch_requests = | 
| 374       arc_test.app_instance()->launch_requests(); | 374       arc_test.app_instance()->launch_requests(); | 
| 375   ASSERT_EQ(1u, launch_requests.size()); | 375   ASSERT_EQ(1u, launch_requests.size()); | 
| 376   EXPECT_EQ(true, launch_requests[0]->IsForApp(app_info)); | 376   EXPECT_TRUE(launch_requests[0]->IsForApp(app_info)); | 
| 377 | 377 | 
| 378   arc_test.app_instance()->RefreshAppList(); | 378   arc_test.app_instance()->RefreshAppList(); | 
| 379   arc_test.app_instance()->SendRefreshAppList(std::vector<arc::AppInfo>()); | 379   arc_test.app_instance()->SendRefreshAppList(std::vector<arc::AppInfo>()); | 
| 380   item.SetReady(false); | 380   item.SetReady(false); | 
| 381 | 381 | 
| 382   EXPECT_EQ(item.GetContextMenuModel(), menu); | 382   EXPECT_EQ(item.GetContextMenuModel(), menu); | 
| 383   ASSERT_EQ(3, menu->GetItemCount()); | 383   ASSERT_EQ(3, menu->GetItemCount()); | 
| 384   EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 384   EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 
| 385   EXPECT_EQ(false, menu->IsEnabledAt(0)); | 385   EXPECT_FALSE(menu->IsEnabledAt(0)); | 
| 386   EXPECT_EQ(false, menu->IsItemCheckedAt(0)); | 386   EXPECT_FALSE(menu->IsItemCheckedAt(0)); | 
| 387   EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 387   EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 
| 388   EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 388   EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 
| 389   EXPECT_EQ(true, menu->IsEnabledAt(2)); | 389   EXPECT_TRUE(menu->IsEnabledAt(2)); | 
| 390   EXPECT_EQ(false, menu->IsItemCheckedAt(2)); | 390   EXPECT_FALSE(menu->IsItemCheckedAt(2)); | 
|  | 391 } | 
|  | 392 | 
|  | 393 TEST_F(AppContextMenuTest, ArcMenuStickyItem) { | 
|  | 394   ArcAppTest arc_test; | 
|  | 395   arc_test.SetUp(profile()); | 
|  | 396   arc_test.bridge_service()->SetReady(); | 
|  | 397 | 
|  | 398   arc_test.app_instance()->RefreshAppList(); | 
|  | 399   arc_test.app_instance()->SendRefreshAppList(arc_test.fake_apps()); | 
|  | 400 | 
|  | 401   { | 
|  | 402     // Verify menu of store | 
|  | 403     const arc::AppInfo& store_info = arc_test.fake_apps()[0]; | 
|  | 404     const std::string store_id = ArcAppTest::GetAppId(store_info); | 
|  | 405     controller()->SetAppPinnable(store_id, | 
|  | 406                                  AppListControllerDelegate::PIN_EDITABLE); | 
|  | 407     ArcAppItem item(profile(), nullptr, store_id, std::string(), true); | 
|  | 408     ui::MenuModel* menu = item.GetContextMenuModel(); | 
|  | 409     ASSERT_NE(nullptr, menu); | 
|  | 410 | 
|  | 411     ASSERT_EQ(3, menu->GetItemCount()); | 
|  | 412     EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 
|  | 413     EXPECT_TRUE(menu->IsEnabledAt(0)); | 
|  | 414     EXPECT_FALSE(menu->IsItemCheckedAt(0)); | 
|  | 415     EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 
|  | 416     EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 
|  | 417     EXPECT_TRUE(menu->IsEnabledAt(2)); | 
|  | 418     EXPECT_FALSE(menu->IsItemCheckedAt(2)); | 
|  | 419     // No "uninstall" entry. | 
|  | 420   } | 
|  | 421 | 
|  | 422   { | 
|  | 423     // Verify normal app menu | 
|  | 424     const arc::AppInfo& app_info = arc_test.fake_apps()[1]; | 
|  | 425     const std::string app_id = ArcAppTest::GetAppId(app_info); | 
|  | 426     controller()->SetAppPinnable(app_id, | 
|  | 427                                  AppListControllerDelegate::PIN_EDITABLE); | 
|  | 428     ArcAppItem item(profile(), nullptr, app_id, std::string(), true); | 
|  | 429     ui::MenuModel* menu = item.GetContextMenuModel(); | 
|  | 430     ASSERT_NE(nullptr, menu); | 
|  | 431 | 
|  | 432     ASSERT_EQ(5, menu->GetItemCount()); | 
|  | 433     EXPECT_EQ(app_list::AppContextMenu::LAUNCH_NEW, menu->GetCommandIdAt(0)); | 
|  | 434     EXPECT_TRUE(menu->IsEnabledAt(0)); | 
|  | 435     EXPECT_FALSE(menu->IsItemCheckedAt(0)); | 
|  | 436     EXPECT_EQ(-1, menu->GetCommandIdAt(1));  // separator | 
|  | 437     EXPECT_EQ(app_list::AppContextMenu::TOGGLE_PIN, menu->GetCommandIdAt(2)); | 
|  | 438     EXPECT_TRUE(menu->IsEnabledAt(2)); | 
|  | 439     EXPECT_FALSE(menu->IsItemCheckedAt(2)); | 
|  | 440     EXPECT_EQ(-1, menu->GetCommandIdAt(3));  // separator | 
|  | 441     EXPECT_EQ(app_list::AppContextMenu::UNINSTALL, menu->GetCommandIdAt(4)); | 
|  | 442     EXPECT_TRUE(menu->IsEnabledAt(4)); | 
|  | 443     EXPECT_FALSE(menu->IsItemCheckedAt(4)); | 
|  | 444   } | 
| 391 } | 445 } | 
| 392 #endif | 446 #endif | 
| OLD | NEW | 
|---|