Chromium Code Reviews| Index: chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
| diff --git a/chrome/browser/ui/app_list/arc/arc_app_unittest.cc b/chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
| index 3c6b346a418305033a631efa6f8f555188bffb70..5cda575f54374ae73dc707b185ce5fb5830537ee 100644 |
| --- a/chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
| +++ b/chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
| @@ -383,10 +383,12 @@ class ArcAppModelBuilderTest : public extensions::ExtensionServiceTestBase, |
| void AddPackage(const arc::mojom::ArcPackageInfo& package) { |
| arc_test_.AddPackage(package); |
| + app_instance()->SendPackageAdded(package); |
| } |
| void RemovePackage(const arc::mojom::ArcPackageInfo& package) { |
| arc_test_.RemovePackage(package); |
| + app_instance()->SendPackageUninstalled(package.package_name); |
| } |
| AppListControllerDelegate* controller() { return controller_.get(); } |
| @@ -557,11 +559,9 @@ TEST_P(ArcAppModelBuilderTest, ArcPackagePref) { |
| package.sync = true; |
| RemovePackage(package); |
| - app_instance()->SendPackageUninstalled(package.package_name); |
| ValidateHavePackages(fake_packages()); |
| AddPackage(package); |
| - app_instance()->SendPackageAdded(package); |
| ValidateHavePackages(fake_packages()); |
| } |
| @@ -592,7 +592,6 @@ TEST_P(ArcAppModelBuilderTest, InstallUninstallShortcut) { |
| package.package_version = 1; |
| package.sync = true; |
| AddPackage(package); |
| - app_instance()->SendPackageAdded(package); |
| app_instance()->SendInstallShortcuts(shortcuts); |
| ValidateHaveShortcuts(shortcuts); |
| @@ -1364,7 +1363,7 @@ TEST_P(ArcAppModelBuilderTest, NonLaunchableApp) { |
| EXPECT_TRUE(prefs->IsRegistered(app_id)); |
| } |
| -TEST_P(ArcAppModelBuilderTest, ArcAppsOnPackageUpdated) { |
| +TEST_P(ArcAppModelBuilderTest, ArcAppsAndShortcutsOnPackageChange) { |
| ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_.get()); |
| ASSERT_NE(nullptr, prefs); |
| @@ -1372,13 +1371,27 @@ TEST_P(ArcAppModelBuilderTest, ArcAppsOnPackageUpdated) { |
| ASSERT_GE(3u, apps.size()); |
| apps[0].package_name = apps[2].package_name; |
| apps[1].package_name = apps[2].package_name; |
| + |
| + std::vector<arc::mojom::ShortcutInfo> shortcuts = fake_shortcuts(); |
| + for (auto& shortcut : shortcuts) |
| + shortcut.package_name = apps[0].package_name; |
| + |
| // Second app should be preserved after update. |
| std::vector<arc::mojom::AppInfo> apps1(apps.begin(), apps.begin() + 2); |
| std::vector<arc::mojom::AppInfo> apps2(apps.begin() + 1, apps.begin() + 3); |
| + // Adding package is requred to safely call SendPackageUninstalled. |
|
xiyuan
2017/05/04 23:15:33
nit: requred -> required
khmel
2017/05/04 23:18:03
Done.
|
| + arc::mojom::ArcPackageInfo package; |
| + package.package_name = apps[0].package_name; |
| + package.package_version = 1; |
| + package.sync = true; |
| + AddPackage(package); |
| + |
| app_instance()->RefreshAppList(); |
| app_instance()->SendRefreshAppList(apps1); |
| - ValidateHaveApps(apps1); |
| + app_instance()->SendInstallShortcuts(shortcuts); |
| + |
| + ValidateHaveAppsAndShortcuts(apps1, shortcuts); |
| const std::string app_id = ArcAppTest::GetAppId(apps[1]); |
| const base::Time now_time = base::Time::Now(); |
| @@ -1389,12 +1402,16 @@ TEST_P(ArcAppModelBuilderTest, ArcAppsOnPackageUpdated) { |
| EXPECT_EQ(now_time, app_info_before->last_launch_time); |
| app_instance()->SendPackageAppListRefreshed(apps[0].package_name, apps2); |
| - ValidateHaveApps(apps2); |
| + ValidateHaveAppsAndShortcuts(apps2, shortcuts); |
| std::unique_ptr<ArcAppListPrefs::AppInfo> app_info_after = |
| prefs->GetApp(app_id); |
| ASSERT_TRUE(app_info_after); |
| EXPECT_EQ(now_time, app_info_after->last_launch_time); |
| + |
| + RemovePackage(package); |
| + ValidateHaveAppsAndShortcuts(std::vector<arc::mojom::AppInfo>(), |
| + std::vector<arc::mojom::ShortcutInfo>()); |
| } |
| TEST_P(ArcDefaulAppTest, DefaultApps) { |