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

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

Issue 2330563002: [Merge-M54] arc: Make Play Store item persistent in app list. (Closed)
Patch Set: Created 4 years, 3 months 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 2d256442ede2a1122f16a3a679bbd1aafe61d26d..17ddc3e216d1d00a70a19a19fea33bbbc6d83fde 100644
--- a/chrome/browser/ui/app_list/arc/arc_app_unittest.cc
+++ b/chrome/browser/ui/app_list/arc/arc_app_unittest.cc
@@ -16,6 +16,9 @@
#include "base/memory/scoped_vector.h"
#include "base/run_loop.h"
#include "base/task_runner_util.h"
+#include "base/values.h"
+#include "chrome/browser/chromeos/arc/arc_support_host.h"
+#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/ui/app_list/app_list_test_util.h"
#include "chrome/browser/ui/app_list/arc/arc_app_icon.h"
#include "chrome/browser/ui/app_list/arc/arc_app_icon_loader.h"
@@ -31,6 +34,9 @@
#include "components/arc/test/fake_app_instance.h"
#include "components/arc/test/fake_arc_bridge_service.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/extension_system.h"
+#include "extensions/common/extension.h"
+#include "extensions/common/manifest_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/app_list/app_list_constants.h"
#include "ui/app_list/app_list_model.h"
@@ -359,6 +365,46 @@ class ArcDefaulAppTest : public ArcAppModelBuilderTest {
DISALLOW_COPY_AND_ASSIGN(ArcDefaulAppTest);
};
+class ArcPlayStoreAppTest : public ArcAppModelBuilderTest {
+ public:
+ ArcPlayStoreAppTest() {}
+ ~ArcPlayStoreAppTest() override {}
+
+
+ void SetUp() override {
+ AppListTestBase::SetUp();
+ CreateArcHost();
+ arc_test()->SetUp(profile_.get());
+ CreateBuilder();
+ }
+
+ private:
+ void CreateArcHost() {
+ base::DictionaryValue manifest;
+ manifest.SetString(extensions::manifest_keys::kName,
+ "Play Store");
+ manifest.SetString(extensions::manifest_keys::kVersion, "1");
+ manifest.SetString(extensions::manifest_keys::kDescription,
+ "Play Store for testing");
+
+ std::string error;
+ arc_support_host_ = extensions::Extension::Create(
+ base::FilePath(),
+ extensions::Manifest::UNPACKED,
+ manifest, extensions::Extension::NO_FLAGS,
+ ArcSupportHost::kHostAppId, &error);
+
+ ExtensionService* extension_service =
+ extensions::ExtensionSystem::Get(profile_.get())->extension_service();
+ extension_service->AddExtension(arc_support_host_.get());
+ }
+
+ scoped_refptr<extensions::Extension> arc_support_host_;
+
+ DISALLOW_COPY_AND_ASSIGN(ArcPlayStoreAppTest);
+};
+
+
TEST_F(ArcAppModelBuilderTest, ArcPackagePref) {
ValidateHavePackages(std::vector<arc::mojom::ArcPackageInfo>());
app_instance()->SendRefreshPackageList(fake_packages());
@@ -845,6 +891,43 @@ TEST_F(ArcAppModelBuilderTest, LastLaunchTime) {
ASSERT_GE(time_after, app_info->last_launch_time);
}
+TEST_F(ArcPlayStoreAppTest, PlayStore) {
+ // Make sure PlayStore is available.
+ ASSERT_TRUE(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+
+ ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_.get());
+ ASSERT_TRUE(prefs);
+
+ std::unique_ptr<ArcAppListPrefs::AppInfo> app_info = prefs->GetApp(
+ arc::kPlayStoreAppId);
+ ASSERT_TRUE(app_info);
+ EXPECT_FALSE(app_info->ready);
+
+ arc::mojom::AppInfo app;
+ std::vector<arc::mojom::AppInfo> apps;
+ app.name = "Play Store";
+ app.package_name = arc::kPlayStorePackage;
+ app.activity = arc::kPlayStoreActivity;
+ app.sticky = false;
+ apps.push_back(app);
+
+ app_instance()->RefreshAppList();
+ app_instance()->SendRefreshAppList(apps);
+
+ app_info = prefs->GetApp(arc::kPlayStoreAppId);
+ ASSERT_TRUE(app_info);
+ EXPECT_TRUE(app_info->ready);
+
+ arc_test()->arc_auth_service()->DisableArc();
+
+ app_info = prefs->GetApp(arc::kPlayStoreAppId);
+ ASSERT_TRUE(app_info);
+ EXPECT_FALSE(app_info->ready);
+
+ arc::LaunchApp(profile(), arc::kPlayStoreAppId);
+ EXPECT_TRUE(arc_test()->arc_auth_service()->IsArcEnabled());
+}
+
// TODO(crbug.com/628425) -- reenable once this test is less flaky.
TEST_F(ArcAppModelBuilderTest, DISABLED_IconLoader) {
const arc::mojom::AppInfo& app = fake_apps()[0];
« no previous file with comments | « chrome/browser/ui/app_list/arc/arc_app_list_prefs.cc ('k') | chrome/browser/ui/app_list/arc/arc_app_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698