Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
index 0771b83310868944fcd01f153cd9fd89c156435b..0ed295f97d6c81054c847ce96435f9299e6ca1f8 100644 |
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
@@ -454,16 +454,13 @@ class ChromeLauncherControllerImplTest : public BrowserWithTestWindowTest { |
// Creates a running platform V2 app (not pinned) of type |app_id|. |
virtual void CreateRunningV2App(const std::string& app_id) { |
DCHECK(!test_controller_); |
- ash::ShelfID id = |
- launcher_controller_->CreateAppShortcutLauncherItemWithType( |
- ash::AppLaunchId(app_id), model_->item_count(), ash::TYPE_APP); |
- DCHECK(id); |
// Change the created launcher controller into a V2 app controller. |
test_controller_ = new TestV2AppLauncherItemController(app_id, |
launcher_controller_.get()); |
- launcher_controller_->SetItemController(id, test_controller_); |
+ ash::ShelfID id = launcher_controller_->InsertAppLauncherItem( |
+ test_controller_, ash::STATUS_RUNNING, model_->item_count(), |
+ ash::TYPE_APP); |
DCHECK(launcher_controller_->IsPlatformApp(id)); |
- launcher_controller_->SetItemStatus(id, ash::STATUS_RUNNING); |
} |
// Sets the stage for a multi user test. |
@@ -1317,7 +1314,7 @@ INSTANTIATE_TEST_CASE_P(, |
TEST_F(ChromeLauncherControllerImplTest, DefaultApps) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
@@ -1502,7 +1499,7 @@ TEST_F(ChromeLauncherControllerImplTest, RestoreDefaultAppsReverseOrder) { |
InsertAddPinChange(&sync_list, 2, extension3_->id()); |
SendPinChanges(sync_list, true); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension3_->id())); |
@@ -1540,7 +1537,7 @@ TEST_F(ChromeLauncherControllerImplTest, RestoreDefaultAppsRandomOrder) { |
InsertAddPinChange(&sync_list, 2, extension3_->id()); |
SendPinChanges(sync_list, true); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension3_->id())); |
@@ -1579,7 +1576,7 @@ TEST_F(ChromeLauncherControllerImplTest, |
InsertAddPinChange(&sync_list, 3, extension3_->id()); |
SendPinChanges(sync_list, true); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension3_->id())); |
@@ -1663,168 +1660,183 @@ TEST_F(ChromeLauncherControllerImplTest, RestoreDefaultAppsResyncOrder) { |
EXPECT_EQ("AppList, Chrome, App3", GetPinnedAppStatus()); |
} |
-// Check that simple locking of an application will 'create' a launcher item. |
-TEST_F(ChromeLauncherControllerImplTest, CheckLockApps) { |
+// Test the V1 app interaction flow: run it, activate it, close it. |
+TEST_F(ChromeLauncherControllerImplTest, V1AppRunActivateClose) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
- EXPECT_EQ(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension2_->id())); |
- |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
+ // Reporting that the app is running should create a new shelf item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
- EXPECT_EQ(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension2_->id())); |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
+ // Reporting an active status should just update the existing item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_ACTIVE); |
+ EXPECT_EQ(3, model_->item_count()); |
+ EXPECT_EQ(ash::STATUS_ACTIVE, model_->items()[2].status); |
+ // Reporting that the app is closed should remove its shelf item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension2_->id())); |
- EXPECT_EQ(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension2_->id())); |
+ |
+ // Reporting that the app is closed again should have no effect. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
+ EXPECT_EQ(2, model_->item_count()); |
} |
-// Check that multiple locks of an application will be properly handled. |
-TEST_F(ChromeLauncherControllerImplTest, CheckMultiLockApps) { |
+// Test the V1 app interaction flow: pin it, run it, close it, unpin it. |
+TEST_F(ChromeLauncherControllerImplTest, V1AppPinRunCloseUnpin) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- for (int i = 0; i < 2; i++) { |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
- |
- EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_NE(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- } |
- |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
+ // Pinning the app should create a new shelf item. |
+ launcher_controller_->PinAppWithID(extension1_->id()); |
+ EXPECT_EQ(3, model_->item_count()); |
+ EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_CLOSED, model_->items()[2].status); |
+ EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
+ EXPECT_NE(ash::kInvalidShelfID, |
+ launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
+ // Reporting that the app is running should just update the existing item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
+ EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
+ EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
+ // Reporting that the app is closed should just update the existing item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
+ EXPECT_EQ(3, model_->item_count()); |
+ EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_CLOSED, model_->items()[2].status); |
+ EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
+ EXPECT_NE(ash::kInvalidShelfID, |
+ launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
+ // Unpinning the app should remove its shelf item. |
+ launcher_controller_->UnpinAppWithID(extension1_->id()); |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
} |
-// Check that already pinned items are not effected by locks. |
-TEST_F(ChromeLauncherControllerImplTest, CheckAlreadyPinnedLockApps) { |
+// Test the V1 app interaction flow: run it, pin it, close it, unpin it. |
+TEST_F(ChromeLauncherControllerImplTest, V1AppRunPinCloseUnpin) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->PinAppWithID(extension1_->id()); |
- |
+ // Reporting that the app is running should create a new shelf item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
- EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
+ EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
+ EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
- |
+ // Pinning the app should just update the existing item. |
+ launcher_controller_->PinAppWithID(extension1_->id()); |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
- |
+ // Reporting that the app is closed should just update the existing item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_CLOSED, model_->items()[2].status); |
EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
+ // Unpinning the app should remove its shelf item. |
launcher_controller_->UnpinAppWithID(extension1_->id()); |
- |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
} |
-// Check that already pinned items which get locked stay after unpinning. |
-TEST_F(ChromeLauncherControllerImplTest, CheckPinnedAppsStayAfterUnlock) { |
+// Test the V1 app interaction flow: pin it, run it, unpin it, close it. |
+TEST_F(ChromeLauncherControllerImplTest, V1AppPinRunUnpinClose) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
+ // Pinning the app should create a new shelf item. |
launcher_controller_->PinAppWithID(extension1_->id()); |
- |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_CLOSED, model_->items()[2].status); |
EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
- |
+ // Reporting that the app is running should just update the existing item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
+ // Unpinning the app should just update the existing item. |
launcher_controller_->UnpinAppWithID(extension1_->id()); |
- |
EXPECT_EQ(3, model_->item_count()); |
EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
+ EXPECT_EQ(ash::STATUS_RUNNING, model_->items()[2].status); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_NE(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
- |
+ // Reporting that the app is closed should remove its shelf item. |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
EXPECT_EQ(ash::kInvalidShelfID, |
launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
} |
-// Check that running applications wich are not pinned get properly restored |
-// upon user change. |
-TEST_F(ChromeLauncherControllerImplTest, CheckRunningAppOrder) { |
+// Ensure unpinned V1 app ordering is properly restored after user changes. |
+TEST_F(ChromeLauncherControllerImplTest, CheckRunningV1AppOrder) { |
InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
// Add a few running applications. |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
- launcher_controller_->LockV1AppWithID(extension2_->id()); |
- launcher_controller_->LockV1AppWithID(extension3_->id()); |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_RUNNING); |
+ launcher_controller_->SetV1AppStatus(extension2_->id(), ash::STATUS_RUNNING); |
+ launcher_controller_->SetV1AppStatus(extension3_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ(5, model_->item_count()); |
// Note that this not only checks the order of applications but also the |
// running type. |
@@ -1851,16 +1863,16 @@ TEST_F(ChromeLauncherControllerImplTest, CheckRunningAppOrder) { |
// Switch again some items and even delete one - making sure that the missing |
// item gets properly handled. |
model_->Move(3, 4); |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
+ launcher_controller_->SetV1AppStatus(extension1_->id(), ash::STATUS_CLOSED); |
EXPECT_EQ("AppList, Chrome, app3, app2", GetPinnedAppStatus()); |
RestoreUnpinnedRunningApplicationOrder(current_account_id); |
EXPECT_EQ("AppList, Chrome, app2, app3", GetPinnedAppStatus()); |
// Check that removing more items does not crash and changes nothing. |
- launcher_controller_->UnlockV1AppWithID(extension2_->id()); |
+ launcher_controller_->SetV1AppStatus(extension2_->id(), ash::STATUS_CLOSED); |
RestoreUnpinnedRunningApplicationOrder(current_account_id); |
EXPECT_EQ("AppList, Chrome, app3", GetPinnedAppStatus()); |
- launcher_controller_->UnlockV1AppWithID(extension3_->id()); |
+ launcher_controller_->SetV1AppStatus(extension3_->id(), ash::STATUS_CLOSED); |
RestoreUnpinnedRunningApplicationOrder(current_account_id); |
EXPECT_EQ("AppList, Chrome", GetPinnedAppStatus()); |
} |
@@ -2474,52 +2486,10 @@ TEST_F(MultiProfileMultiBrowserShelfLayoutChromeLauncherControllerImplTest, |
EXPECT_TRUE(manager->IsWindowOnDesktopOfUser(window, current_user)); |
} |
-// Check that lock -> pin -> unlock -> unpin does properly transition. |
-TEST_F(ChromeLauncherControllerImplTest, CheckLockPinUnlockUnpin) { |
- InitLauncherController(); |
- // Model should only contain the browser shortcut and app list items. |
- EXPECT_EQ(2, model_->item_count()); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_EQ(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- |
- launcher_controller_->LockV1AppWithID(extension1_->id()); |
- |
- EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_APP, model_->items()[2].type); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_NE(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- |
- launcher_controller_->PinAppWithID(extension1_->id()); |
- |
- EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
- EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_NE(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- |
- launcher_controller_->UnlockV1AppWithID(extension1_->id()); |
- |
- EXPECT_EQ(3, model_->item_count()); |
- EXPECT_EQ(ash::TYPE_PINNED_APP, model_->items()[2].type); |
- EXPECT_TRUE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_NE(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
- |
- launcher_controller_->UnpinAppWithID(extension1_->id()); |
- |
- EXPECT_EQ(2, model_->item_count()); |
- EXPECT_FALSE(launcher_controller_->IsAppPinned(extension1_->id())); |
- EXPECT_EQ(ash::kInvalidShelfID, |
- launcher_controller_->GetShelfIDForAppID(extension1_->id())); |
-} |
- |
-// Check that a locked (windowed V1 application) will be properly converted |
-// between locked and pinned when the order gets changed through a profile / |
-// policy change. |
+// Check that a running windowed V1 application will be properly pinned and |
+// unpinned when the order gets changed through a profile / policy change. |
TEST_F(ChromeLauncherControllerImplTest, |
- RestoreDefaultAndLockedAppsResyncOrder) { |
+ RestoreDefaultAndRunningV1AppsResyncOrder) { |
InitLauncherController(); |
syncer::SyncChangeList sync_list; |
@@ -2534,14 +2504,13 @@ TEST_F(ChromeLauncherControllerImplTest, |
// No new app icon will be generated. |
EXPECT_EQ("AppList, Chrome, App1", GetPinnedAppStatus()); |
- // Add the app as locked app which will add it (un-pinned). |
- launcher_controller_->LockV1AppWithID(extension2_->id()); |
+ // Set the app status as running, which will add an unpinned item. |
+ launcher_controller_->SetV1AppStatus(extension2_->id(), ash::STATUS_RUNNING); |
EXPECT_EQ("AppList, Chrome, App1, app2", GetPinnedAppStatus()); |
extension_service_->AddExtension(extension3_.get()); |
EXPECT_EQ("AppList, Chrome, App1, App3, app2", GetPinnedAppStatus()); |
- // Now request to pin all items which should convert the locked item into a |
- // pinned item. |
+ // Now request to pin all items, which will pin the running unpinned items. |
syncer::SyncChangeList sync_list1; |
InsertAddPinChange(&sync_list1, 0, extension3_->id()); |
InsertAddPinChange(&sync_list1, 1, extension2_->id()); |
@@ -2549,11 +2518,9 @@ TEST_F(ChromeLauncherControllerImplTest, |
SendPinChanges(sync_list1, true); |
EXPECT_EQ("AppList, Chrome, App3, App2, App1", GetPinnedAppStatus()); |
- // Going back to a status where there is no requirement for app 2 to be pinned |
- // should convert it back to locked but not pinned and state. The position |
- // is determined by the |ShelfModel|'s weight system and since running |
- // applications are not allowed to be mixed with shortcuts, it should show up |
- // at the end of the list. |
+ // Removing the requirement for app 2 to be pinned should convert it back to |
+ // running but not pinned. It should move towards the end of the shelf, after |
+ // the pinned items, as determined by the |ShelfModel|'s weight system. |
syncer::SyncChangeList sync_list2; |
InsertAddPinChange(&sync_list2, 0, extension3_->id()); |
InsertAddPinChange(&sync_list2, 1, extension1_->id()); |
@@ -2565,9 +2532,8 @@ TEST_F(ChromeLauncherControllerImplTest, |
EXPECT_EQ("AppList, Chrome, App3, app2", GetPinnedAppStatus()); |
} |
-// Check that a running and not pinned V2 application will be properly converted |
-// between locked and pinned when the order gets changed through a profile / |
-// policy change. |
+// Check that a running unpinned V2 application will be properly pinned and |
+// unpinned when the order gets changed through a profile / policy change. |
TEST_F(ChromeLauncherControllerImplTest, |
RestoreDefaultAndRunningV2AppsResyncOrder) { |
InitLauncherController(); |
@@ -2587,8 +2553,7 @@ TEST_F(ChromeLauncherControllerImplTest, |
extension_service_->AddExtension(extension3_.get()); |
EXPECT_EQ("AppList, Chrome, App1, App3, *platform_app", GetPinnedAppStatus()); |
- // Now request to pin all items which should convert the locked item into a |
- // pinned item. |
+ // Now request to pin all items, which should pin the running unpinned item. |
syncer::SyncChangeList sync_list1; |
InsertAddPinChange(&sync_list1, 0, extension3_->id()); |
InsertAddPinChange(&sync_list1, 1, extension_platform_app_->id()); |
@@ -2596,10 +2561,9 @@ TEST_F(ChromeLauncherControllerImplTest, |
SendPinChanges(sync_list1, true); |
EXPECT_EQ("AppList, Chrome, App3, *Platform_App, App1", GetPinnedAppStatus()); |
- // Going back to a status where there is no requirement for the V2 app to be |
- // pinned should convert it back to running V2 app. Since the position is |
- // determined by the |ShelfModel|'s weight system, it will be after last |
- // pinned item. |
+ // Removing the requirement for app 2 to be pinned should convert it back to |
+ // running but not pinned. It should move towards the end of the shelf, after |
+ // the pinned items, as determined by the |ShelfModel|'s weight system. |
syncer::SyncChangeList sync_list2; |
InsertAddPinChange(&sync_list2, 0, extension3_->id()); |
InsertAddPinChange(&sync_list2, 1, extension1_->id()); |
@@ -3016,7 +2980,7 @@ TEST_F(ChromeLauncherControllerImplTest, V1AppMenuGeneration) { |
InitLauncherControllerWithBrowser(); |
- // Model should only contain the browser shortcut and app list items. |
+ // The model should only contain the browser shortcut and app list items. |
EXPECT_EQ(2, model_->item_count()); |
EXPECT_FALSE(launcher_controller_->IsAppPinned(extension3_->id())); |