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 c483f773af0f18bb3706b57358b8cd454240b59b..60c08f3d685659f34eec525fd23b2a55979fbcf2 100644 |
--- a/chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
+++ b/chrome/browser/ui/app_list/arc/arc_app_unittest.cc |
@@ -1288,6 +1288,65 @@ TEST_F(ArcDefaulAppTest, DefaultApps) { |
} |
} |
+TEST_F(ArcDefaulAppTest, DefaultAppsNotAvailable) { |
+ ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_.get()); |
+ ASSERT_NE(nullptr, prefs); |
+ |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ const std::vector<arc::mojom::AppInfo> empty_app_list; |
+ |
+ app_instance()->RefreshAppList(); |
+ app_instance()->SendRefreshAppList(empty_app_list); |
+ |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ prefs->SimulateDefaultAppAvailabilityTimeoutForTesting(); |
+ |
+ // No default app installation and already installed packages. |
+ ValidateHaveApps(empty_app_list); |
+} |
+ |
+TEST_F(ArcDefaulAppTest, DefaultAppsInstallation) { |
+ ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_.get()); |
+ ASSERT_NE(nullptr, prefs); |
+ |
+ const std::vector<arc::mojom::AppInfo> empty_app_list; |
+ |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ app_instance()->RefreshAppList(); |
+ app_instance()->SendRefreshAppList(empty_app_list); |
+ |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ // Notify that default installations have been started. |
+ for (const auto& fake_app : fake_default_apps()) |
+ app_instance()->SendInstallationStarted(fake_app.package_name); |
+ |
+ // Timeout does not affect default app availibilty because all installations |
Luis Héctor Chávez
2017/01/03 19:08:00
nit: s/availibility/availability/
khmel
2017/01/03 21:40:56
Done.
|
+ // for default apps have been started. |
+ prefs->SimulateDefaultAppAvailabilityTimeoutForTesting(); |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ const arc::mojom::AppInfo& app_last = fake_default_apps().back(); |
+ std::vector<arc::mojom::AppInfo> available_apps = fake_default_apps(); |
+ available_apps.pop_back(); |
+ |
+ for (const auto& fake_app : available_apps) |
+ app_instance()->SendInstallationFinished(fake_app.package_name, true); |
+ |
+ // So far we have all default apps available because not all installations |
+ // completed. |
+ ValidateHaveApps(fake_default_apps()); |
+ |
+ // Last default app installation failed. |
+ app_instance()->SendInstallationFinished(app_last.package_name, false); |
+ |
+ // We should have all default apps except last. |
+ ValidateHaveApps(available_apps); |
+} |
+ |
TEST_F(ArcDefaulAppForManagedUserTest, DefaultAppsForManagedUser) { |
const ArcAppListPrefs* const prefs = ArcAppListPrefs::Get(profile_.get()); |
ASSERT_TRUE(prefs); |