| Index: chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
|
| diff --git a/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc b/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
|
| index d2fe638a8372b04903fb619e143a056927b54bed..2e707f0475cc5313c0094ea73c838817eddf39af 100644
|
| --- a/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
|
| +++ b/chrome/browser/sync/test/integration/two_client_app_list_sync_test.cc
|
| @@ -11,7 +11,6 @@
|
| #include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sync/test/integration/apps_helper.h"
|
| -#include "chrome/browser/sync/test/integration/extensions_helper.h"
|
| #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
|
| #include "chrome/browser/sync/test/integration/sync_app_list_helper.h"
|
| #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
|
| @@ -27,16 +26,13 @@
|
| #include "ui/app_list/app_list_model.h"
|
| #include "ui/app_list/app_list_switches.h"
|
|
|
| -using apps_helper::AwaitAllProfilesHaveSameApps;
|
| using apps_helper::DisableApp;
|
| using apps_helper::EnableApp;
|
| -using apps_helper::HasSameApps;
|
| +using apps_helper::HasSameAppsAsVerifier;
|
| using apps_helper::IncognitoDisableApp;
|
| using apps_helper::IncognitoEnableApp;
|
| using apps_helper::InstallApp;
|
| using apps_helper::InstallAppsPendingForSync;
|
| -using apps_helper::IsAppEnabled;
|
| -using apps_helper::IsIncognitoEnabled;
|
| using apps_helper::UninstallApp;
|
| using sync_integration_test_util::AwaitCommitActivityCompletion;
|
|
|
| @@ -44,8 +40,9 @@
|
|
|
| const size_t kNumDefaultApps = 2;
|
|
|
| -bool AllProfilesHaveSameAppList() {
|
| - return SyncAppListHelper::GetInstance()->AllProfilesHaveSameAppList();
|
| +bool AllProfilesHaveSameAppListAsVerifier() {
|
| + return SyncAppListHelper::GetInstance()->
|
| + AllProfilesHaveSameAppListAsVerifier();
|
| }
|
|
|
| const app_list::AppListSyncableService::SyncItem* GetSyncItem(
|
| @@ -85,9 +82,7 @@
|
|
|
| class TwoClientAppListSyncTest : public SyncTest {
|
| public:
|
| - TwoClientAppListSyncTest() : SyncTest(TWO_CLIENT_LEGACY) {
|
| - DisableVerifier();
|
| - }
|
| + TwoClientAppListSyncTest() : SyncTest(TWO_CLIENT_LEGACY) {}
|
|
|
| ~TwoClientAppListSyncTest() override {}
|
|
|
| @@ -118,6 +113,7 @@
|
| void WaitForExtensionServicesToLoad() {
|
| for (int i = 0; i < num_clients(); ++i)
|
| WaitForExtensionsServiceToLoadForProfile(GetProfile(i));
|
| + WaitForExtensionsServiceToLoadForProfile(verifier());
|
| }
|
|
|
| void WaitForExtensionsServiceToLoadForProfile(Profile* profile) {
|
| @@ -137,7 +133,7 @@
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, StartWithNoApps) {
|
| ASSERT_TRUE(SetupSync());
|
|
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, StartWithSameApps) {
|
| @@ -147,13 +143,14 @@
|
| for (int i = 0; i < kNumApps; ++i) {
|
| InstallApp(GetProfile(0), i);
|
| InstallApp(GetProfile(1), i);
|
| - }
|
| -
|
| - ASSERT_TRUE(SetupSync());
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), i);
|
| + }
|
| +
|
| + ASSERT_TRUE(SetupSync());
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| // Install some apps on both clients, some on only one client, some on only the
|
| @@ -170,16 +167,21 @@
|
| for (int j = 0; j < kNumCommonApps; ++i, ++j) {
|
| InstallApp(GetProfile(0), i);
|
| InstallApp(GetProfile(1), i);
|
| + InstallApp(verifier(), i);
|
| }
|
|
|
| const int kNumProfile0Apps = 10;
|
| for (int j = 0; j < kNumProfile0Apps; ++i, ++j) {
|
| std::string id = InstallApp(GetProfile(0), i);
|
| + InstallApp(verifier(), i);
|
| + SyncAppListHelper::GetInstance()->CopyOrdinalsToVerifier(GetProfile(0), id);
|
| }
|
|
|
| const int kNumProfile1Apps = 10;
|
| for (int j = 0; j < kNumProfile1Apps; ++i, ++j) {
|
| std::string id = InstallApp(GetProfile(1), i);
|
| + InstallApp(verifier(), i);
|
| + SyncAppListHelper::GetInstance()->CopyOrdinalsToVerifier(GetProfile(1), id);
|
| }
|
|
|
| ASSERT_TRUE(SetupSync());
|
| @@ -191,7 +193,7 @@
|
|
|
| // Verify the app lists, but ignore absolute position values, checking only
|
| // relative positions (see note in app_list_syncable_service.h).
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| // Install some apps on both clients, then sync. Then install some apps on only
|
| @@ -206,6 +208,7 @@
|
| for (int j = 0; j < kNumCommonApps; ++i, ++j) {
|
| InstallApp(GetProfile(0), i);
|
| InstallApp(GetProfile(1), i);
|
| + InstallApp(verifier(), i);
|
| }
|
|
|
| ASSERT_TRUE(SetupSync());
|
| @@ -215,11 +218,15 @@
|
| const int kNumProfile0Apps = 10;
|
| for (int j = 0; j < kNumProfile0Apps; ++i, ++j) {
|
| std::string id = InstallApp(GetProfile(0), i);
|
| + InstallApp(verifier(), i);
|
| + SyncAppListHelper::GetInstance()->CopyOrdinalsToVerifier(GetProfile(0), id);
|
| }
|
|
|
| const int kNumProfile1Apps = 10;
|
| for (int j = 0; j < kNumProfile1Apps; ++i, ++j) {
|
| std::string id = InstallApp(GetProfile(1), i);
|
| + InstallApp(verifier(), i);
|
| + SyncAppListHelper::GetInstance()->CopyOrdinalsToVerifier(GetProfile(1), id);
|
| }
|
|
|
| ASSERT_TRUE(AwaitQuiescence());
|
| @@ -229,35 +236,38 @@
|
|
|
| // Verify the app lists, but ignore absolute position values, checking only
|
| // relative positions (see note in app_list_syncable_service.h).
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, Install) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - InstallApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| -
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| +
|
| + InstallApp(GetProfile(0), 0);
|
| + InstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, Uninstall) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - InstallApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| -
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| +
|
| + InstallApp(GetProfile(0), 0);
|
| + InstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| UninstallApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + UninstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| // Install an app on one client, then sync. Then uninstall the app on the first
|
| @@ -266,117 +276,125 @@
|
| // ordinals.
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, UninstallThenInstall) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - InstallApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| -
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| +
|
| + InstallApp(GetProfile(0), 0);
|
| + InstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| UninstallApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + UninstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| InstallApp(GetProfile(0), 1);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), 1);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, Merge) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| InstallApp(GetProfile(0), 0);
|
| InstallApp(GetProfile(1), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| + ASSERT_TRUE(AwaitQuiescence());
|
|
|
| UninstallApp(GetProfile(0), 0);
|
| InstallApp(GetProfile(0), 1);
|
| + InstallApp(verifier(), 1);
|
|
|
| InstallApp(GetProfile(0), 2);
|
| InstallApp(GetProfile(1), 2);
|
| + InstallApp(verifier(), 2);
|
|
|
| InstallApp(GetProfile(1), 3);
|
| -
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), 3);
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, UpdateEnableDisableApp) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| InstallApp(GetProfile(0), 0);
|
| InstallApp(GetProfile(1), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - ASSERT_TRUE(IsAppEnabled(GetProfile(0), 0));
|
| - ASSERT_TRUE(IsAppEnabled(GetProfile(1), 0));
|
| + InstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| DisableApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| - ASSERT_TRUE(HasSameApps(GetProfile(0), GetProfile(1)));
|
| - ASSERT_FALSE(IsAppEnabled(GetProfile(0), 0));
|
| - ASSERT_FALSE(IsAppEnabled(GetProfile(1), 0));
|
| + DisableApp(verifier(), 0);
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(0));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(1));
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| EnableApp(GetProfile(1), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - ASSERT_TRUE(IsAppEnabled(GetProfile(0), 0));
|
| - ASSERT_TRUE(IsAppEnabled(GetProfile(1), 0));
|
| + EnableApp(verifier(), 0);
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(1));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(0));
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, UpdateIncognitoEnableDisable) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| InstallApp(GetProfile(0), 0);
|
| InstallApp(GetProfile(1), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - ASSERT_FALSE(IsIncognitoEnabled(GetProfile(0), 0));
|
| - ASSERT_FALSE(IsIncognitoEnabled(GetProfile(1), 0));
|
| + InstallApp(verifier(), 0);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| IncognitoEnableApp(GetProfile(0), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - ASSERT_TRUE(IsIncognitoEnabled(GetProfile(0), 0));
|
| - ASSERT_TRUE(IsIncognitoEnabled(GetProfile(1), 0));
|
| + IncognitoEnableApp(verifier(), 0);
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(0));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(1));
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| IncognitoDisableApp(GetProfile(1), 0);
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -
|
| - ASSERT_FALSE(IsIncognitoEnabled(GetProfile(0), 0));
|
| - ASSERT_FALSE(IsIncognitoEnabled(GetProfile(1), 0));
|
| + IncognitoDisableApp(verifier(), 0);
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(1));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(0));
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, DisableApps) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::APP_LIST));
|
| InstallApp(GetProfile(0), 0);
|
| + InstallApp(verifier(), 0);
|
| ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
|
| - ASSERT_FALSE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(0));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(1));
|
|
|
| ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::APP_LIST));
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| -
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| // Disable sync for the second client and then install an app on the first
|
| @@ -384,26 +402,28 @@
|
| // same app with identical app and page ordinals.
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, DisableSync) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes());
|
| InstallApp(GetProfile(0), 0);
|
| + InstallApp(verifier(), 0);
|
| ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
|
| - ASSERT_FALSE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(HasSameAppsAsVerifier(0));
|
| + ASSERT_FALSE(HasSameAppsAsVerifier(1));
|
|
|
| ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes());
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| -
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| +
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| // Install some apps on both clients, then sync. Move an app on one client
|
| // and sync. Both clients should have the updated position for the app.
|
| IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, Move) {
|
| ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| std::vector<std::string> app_ids;
|
| // AppListPrefs should be empty since it only begins observing the model after
|
| @@ -414,9 +434,10 @@
|
| for (int i = 0; i < kNumApps; ++i) {
|
| app_ids.push_back(InstallApp(GetProfile(0), i));
|
| InstallApp(GetProfile(1), i);
|
| - }
|
| - ASSERT_TRUE(AwaitAllProfilesHaveSameApps());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), i);
|
| + }
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // AppListPrefs should contain the newly installed apps.
|
| CheckAppInfoInPrefs(GetProfile(1), app_ids);
|
| @@ -424,9 +445,11 @@
|
| size_t first = kNumDefaultApps;
|
| SyncAppListHelper::GetInstance()->MoveApp(
|
| GetProfile(0), first + 1, first + 2);
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveApp(
|
| + verifier(), first + 1, first + 2);
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // AppListPrefs should reflect the apps being moved in the model.
|
| CheckAppInfoInPrefs(GetProfile(1), app_ids);
|
| @@ -442,15 +465,19 @@
|
| // Install a non-default app.
|
| InstallApp(GetProfile(0), 0);
|
| InstallApp(GetProfile(1), 0);
|
| + InstallApp(verifier(), 0);
|
|
|
| // Install a default app in Profile 0 only.
|
| const int default_app_index = 1;
|
| std::string default_app_id = InstallApp(GetProfile(0), default_app_index);
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - InstallAppsPendingForSync(GetProfile(0));
|
| - InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), default_app_index);
|
| + SyncAppListHelper::GetInstance()->CopyOrdinalsToVerifier(
|
| + GetProfile(0), default_app_id);
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + InstallAppsPendingForSync(GetProfile(0));
|
| + InstallAppsPendingForSync(GetProfile(1));
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Flag Default app in Profile 1.
|
| extensions::ExtensionPrefs::Get(GetProfile(1))
|
| @@ -461,8 +488,9 @@
|
| // Remove the default app in Profile 0 and verifier, ensure it was removed
|
| // in Profile 1.
|
| UninstallApp(GetProfile(0), default_app_index);
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + UninstallApp(verifier(), default_app_index);
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Ensure that a REMOVE_DEFAULT_APP SyncItem entry exists in Profile 1.
|
| const app_list::AppListSyncableService::SyncItem* sync_item =
|
| @@ -474,13 +502,14 @@
|
| // Re-Install the same app in Profile 0.
|
| std::string app_id2 = InstallApp(GetProfile(0), default_app_index);
|
| EXPECT_EQ(default_app_id, app_id2);
|
| + InstallApp(verifier(), default_app_index);
|
| sync_item = GetSyncItem(GetProfile(0), app_id2);
|
| EXPECT_EQ(sync_pb::AppListSpecifics::TYPE_APP, sync_item->item_type);
|
|
|
| ASSERT_TRUE(AwaitQuiescence());
|
| InstallAppsPendingForSync(GetProfile(0));
|
| InstallAppsPendingForSync(GetProfile(1));
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Ensure that the REMOVE_DEFAULT_APP SyncItem entry in Profile 1 is replaced
|
| // with an APP entry after an install.
|
| @@ -491,40 +520,65 @@
|
|
|
| #if !defined(OS_MACOSX)
|
|
|
| +class TwoClientAppListSyncFolderTest : public TwoClientAppListSyncTest {
|
| + public:
|
| + TwoClientAppListSyncFolderTest() {}
|
| + ~TwoClientAppListSyncFolderTest() override {}
|
| +
|
| + void SetUpCommandLine(base::CommandLine* command_line) override {
|
| + TwoClientAppListSyncTest::SetUpCommandLine(command_line);
|
| + }
|
| +
|
| + bool SetupClients() override {
|
| + bool res = TwoClientAppListSyncTest::SetupClients();
|
| + app_list::AppListSyncableService* verifier_service =
|
| + app_list::AppListSyncableServiceFactory::GetForProfile(verifier());
|
| + verifier_service->GetModel()->SetFoldersEnabled(true);
|
| + return res;
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(TwoClientAppListSyncFolderTest);
|
| +};
|
| +
|
| // Install some apps on both clients, then sync. Move an app on one client
|
| // to a folder and sync. The app lists, including folders, should match.
|
| -IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, MoveToFolder) {
|
| - ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| +IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncFolderTest, MoveToFolder) {
|
| + ASSERT_TRUE(SetupSync());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| const int kNumApps = 5;
|
| for (int i = 0; i < kNumApps; ++i) {
|
| InstallApp(GetProfile(0), i);
|
| InstallApp(GetProfile(1), i);
|
| - }
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), i);
|
| + }
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| size_t index = 2u;
|
| std::string folder_id = "Folder 0";
|
| SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| GetProfile(0), index, folder_id);
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncTest, FolderAddRemove) {
|
| - ASSERT_TRUE(SetupSync());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| + verifier(), index, folder_id);
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(TwoClientAppListSyncFolderTest, FolderAddRemove) {
|
| + ASSERT_TRUE(SetupSync());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| const int kNumApps = 10;
|
| for (int i = 0; i < kNumApps; ++i) {
|
| InstallApp(GetProfile(0), i);
|
| InstallApp(GetProfile(1), i);
|
| - }
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + InstallApp(verifier(), i);
|
| + }
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Move a few apps to a folder.
|
| const size_t kNumAppsToMove = 3;
|
| @@ -535,34 +589,42 @@
|
| for (size_t i = 0; i < kNumAppsToMove; ++i) {
|
| SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| GetProfile(0), item_index, folder_id);
|
| - }
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| + verifier(), item_index, folder_id);
|
| + }
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Remove one app from the folder.
|
| SyncAppListHelper::GetInstance()->MoveAppFromFolder(
|
| GetProfile(0), 0, folder_id);
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveAppFromFolder(
|
| + verifier(), 0, folder_id);
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Remove remaining apps from the folder (deletes folder).
|
| for (size_t i = 1; i < kNumAppsToMove; ++i) {
|
| SyncAppListHelper::GetInstance()->MoveAppFromFolder(
|
| GetProfile(0), 0, folder_id);
|
| - }
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveAppFromFolder(
|
| + verifier(), 0, folder_id);
|
| + }
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
|
|
| // Move apps back to a (new) folder.
|
| for (size_t i = 0; i < kNumAppsToMove; ++i) {
|
| SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| GetProfile(0), item_index, folder_id);
|
| - }
|
| -
|
| - ASSERT_TRUE(AwaitQuiescence());
|
| - ASSERT_TRUE(AllProfilesHaveSameAppList());
|
| + SyncAppListHelper::GetInstance()->MoveAppToFolder(
|
| + verifier(), item_index, folder_id);
|
| + }
|
| +
|
| + ASSERT_TRUE(AwaitQuiescence());
|
| + ASSERT_TRUE(AllProfilesHaveSameAppListAsVerifier());
|
| }
|
|
|
| #endif // !defined(OS_MACOSX)
|
|
|