Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
index eba29f8ef775487526586b09fed439f3d0905fb4..94e1fc39a658f4c1ac29128b9a83d13a85781c31 100644 |
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl_unittest.cc |
@@ -51,6 +51,7 @@ |
#include "chrome/browser/ui/apps/chrome_app_delegate.h" |
#include "chrome/browser/ui/ash/chrome_launcher_prefs.h" |
#include "chrome/browser/ui/ash/launcher/app_window_launcher_controller.h" |
+#include "chrome/browser/ui/ash/launcher/arc_app_deferred_launcher_controller.h" |
#include "chrome/browser/ui/ash/launcher/browser_status_monitor.h" |
#include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_util.h" |
#include "chrome/browser/ui/ash/launcher/extension_app_window_launcher_item_controller.h" |
@@ -499,6 +500,7 @@ class ChromeLauncherControllerImplTest : public BrowserWithTestWindowTest { |
launcher_controller_.reset( |
new ChromeLauncherControllerImpl(profile(), model_.get())); |
launcher_controller_->Init(); |
+ ChromeLauncherController::set_instance(launcher_controller_.get()); |
} |
void InitLauncherControllerWithBrowser() { |
@@ -515,6 +517,7 @@ class ChromeLauncherControllerImplTest : public BrowserWithTestWindowTest { |
launcher_controller_.reset( |
ChromeLauncherControllerImpl::CreateInstance(profile(), model_.get())); |
launcher_controller_->Init(); |
+ ChromeLauncherController::set_instance(launcher_controller_.get()); |
} |
void StartAppSyncService(const syncer::SyncDataList& init_sync_list) { |
@@ -3545,6 +3548,58 @@ class ChromeLauncherControllerOrientationTest |
DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerOrientationTest); |
}; |
+class ChromeLauncherControllerArcDefaultAppsTest |
+ : public ChromeLauncherControllerImplTest { |
+ public: |
+ ChromeLauncherControllerArcDefaultAppsTest() {} |
+ ~ChromeLauncherControllerArcDefaultAppsTest() override {} |
+ |
+ protected: |
+ void SetUp() override { |
+ ArcAppListPrefs::UseTestDefaultAppsDirectory(); |
+ ChromeLauncherControllerImplTest::SetUp(); |
+ } |
+ |
+ void TestMe() { |
xiyuan
2016/08/26 19:32:30
nit: This function seems unnecessary if it is not
khmel
2016/08/26 23:26:18
Oh, forgot to move into TEST_F(ChromeLauncherContr
|
+ arc_test_.SetUp(profile()); |
+ InitLauncherController(); |
+ |
+ ArcAppListPrefs* const prefs = arc_test_.arc_app_list_prefs(); |
+ EnableArc(false); |
+ EXPECT_FALSE(arc_test_.arc_auth_service()->IsArcEnabled()); |
+ ASSERT_TRUE(prefs->GetAppIds().size()); |
+ |
+ const std::string app_id = |
+ ArcAppTest::GetAppId(arc_test_.fake_default_apps()[0]); |
+ EXPECT_EQ(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
+ EXPECT_TRUE(arc::LaunchApp(profile(), app_id)); |
+ EXPECT_TRUE(arc_test_.arc_auth_service()->IsArcEnabled()); |
+ EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
+ |
+ // Stop Arc again. Shelf item should go away. |
+ EnableArc(false); |
+ EXPECT_EQ(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
+ |
+ EXPECT_TRUE(arc::LaunchApp(profile(), app_id)); |
+ EXPECT_TRUE(arc_test_.arc_auth_service()->IsArcEnabled()); |
+ |
+ EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
+ EXPECT_TRUE(launcher_controller_->GetArcDeferredLauncher()->HasApp(app_id)); |
+ |
+ std::string window_app_id("org.chromium.arc.1"); |
+ CreateArcWindow(window_app_id); |
+ arc_test_.app_instance()->SendTaskCreated(1, |
+ arc_test_.fake_default_apps()[0]); |
+ |
+ EXPECT_NE(0, launcher_controller_->GetShelfIDForAppID(app_id)); |
+ EXPECT_FALSE( |
+ launcher_controller_->GetArcDeferredLauncher()->HasApp(app_id)); |
+ } |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerArcDefaultAppsTest); |
+}; |
+ |
} // namespace |
TEST_F(ChromeLauncherControllerOrientationTest, ArcOrientationLock) { |
@@ -3708,3 +3763,7 @@ TEST_F(ChromeLauncherControllerOrientationTest, CurrentWithLandscapeDisplay) { |
EXPECT_EQ(display::Display::ROTATE_0, |
display::Screen::GetScreen()->GetPrimaryDisplay().rotation()); |
} |
+ |
+TEST_F(ChromeLauncherControllerArcDefaultAppsTest, DefaultApps) { |
+ TestMe(); |
+} |