Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4086)

Unified Diff: chrome/browser/ui/app_list/arc/arc_app_unittest.cc

Issue 2601323002: arc: Handle default app not availble case. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698