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

Unified Diff: chrome/browser/ui/app_list/app_list_controller_browsertest.cc

Issue 12090062: Enable profile switching for standalone App Launcher via the Settings App. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: disable tests on aura Created 7 years, 11 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/app_list_controller_browsertest.cc
diff --git a/chrome/browser/ui/app_list/app_list_controller_browsertest.cc b/chrome/browser/ui/app_list/app_list_controller_browsertest.cc
index a928fe14706070fa49e3364f682d968b8f1b3406..7949d0670a0da42e1616ef6096f9abe7a60da87a 100644
--- a/chrome/browser/ui/app_list/app_list_controller_browsertest.cc
+++ b/chrome/browser/ui/app_list/app_list_controller_browsertest.cc
@@ -2,27 +2,94 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/command_line.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/message_loop.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/prefs/pref_service_simple.h"
+#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/app_list/app_list_util.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "chrome/test/base/ui_test_utils.h"
+
// Browser Test for AppListController that runs on all platforms supporting
// app_list.
class AppListControllerBrowserTest : public InProcessBrowserTest {
public:
- AppListControllerBrowserTest() {}
+ AppListControllerBrowserTest()
+ : profile2_(NULL) {}
+
+ void OnProfileCreated(Profile* profile, Profile::CreateStatus status) {
+ if (status == Profile::CREATE_STATUS_INITIALIZED) {
+ profile2_ = profile;
+ MessageLoop::current()->Quit();
+ }
+ }
+
+ protected:
+ base::ScopedTempDir temp_profile_dir_;
+ Profile* profile2_;
private:
DISALLOW_COPY_AND_ASSIGN(AppListControllerBrowserTest);
};
-// Disabled on Windows. Investigating in http://crbug.com/169114 .
-#if defined(OS_WIN)
-#define MAYBE_ShowAndShutdown DISABLED_ShowAndShutdown
-#else
-#define MAYBE_ShowAndShutdown ShowAndShutdown
-#endif
+#if defined(OS_WIN) && !defined(USE_AURA)
+// Show the app list, then dismiss it.
+IN_PROC_BROWSER_TEST_F(AppListControllerBrowserTest, ShowAndDismiss) {
+ ASSERT_FALSE(chrome::IsAppListVisible());
+ chrome::ShowAppList(browser()->profile());
+ ASSERT_TRUE(chrome::IsAppListVisible());
+ chrome::DismissAppList();
+ ASSERT_FALSE(chrome::IsAppListVisible());
+}
+
+IN_PROC_BROWSER_TEST_F(AppListControllerBrowserTest, SwitchAppListProfiles) {
+ ProfileManager* profile_manager = g_browser_process->profile_manager();
+ ASSERT_TRUE(temp_profile_dir_.CreateUniqueTempDir());
+ profile_manager->CreateProfileAsync(
+ temp_profile_dir_.path(),
+ base::Bind(&AppListControllerBrowserTest::OnProfileCreated,
+ this),
+ string16(), string16(), false);
+ content::RunMessageLoop(); // Will stop in OnProfileCreated().
+
+ ASSERT_FALSE(chrome::IsAppListVisible());
+ chrome::ShowAppList(browser()->profile());
+ ASSERT_TRUE(chrome::IsAppListVisible());
+ ASSERT_EQ(browser()->profile(), chrome::GetCurrentAppListProfile());
+ chrome::ShowAppList(profile2_);
+ ASSERT_TRUE(chrome::IsAppListVisible());
+ ASSERT_EQ(profile2_, chrome::GetCurrentAppListProfile());
+ chrome::DismissAppList();
+ ASSERT_FALSE(chrome::IsAppListVisible());
+}
+
+class ShowAppListBrowserTest : public InProcessBrowserTest {
+ public:
+ ShowAppListBrowserTest() {}
+
+ void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
+ command_line->AppendSwitch(switches::kShowAppList);
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ShowAppListBrowserTest);
+};
+
+IN_PROC_BROWSER_TEST_F(ShowAppListBrowserTest, ShowAppListFlag) {
+ // The app list should already be shown because we passed
+ // switches::kShowAppList.
+ ASSERT_TRUE(chrome::IsAppListVisible());
-// Test showing the app list, followed by browser close.
-IN_PROC_BROWSER_TEST_F(AppListControllerBrowserTest, MAYBE_ShowAndShutdown) {
- chrome::ShowAppList();
+ // Create a browser to prevent shutdown when we dismiss the app list. We
+ // need to do this because switches::kShowAppList suppresses the creation of
+ // any browsers.
+ CreateBrowser(chrome::GetCurrentAppListProfile());
+ chrome::DismissAppList();
}
+#endif // defined(OS_WIN) && !defined(USE_AURA)
« no previous file with comments | « chrome/browser/resources/options/options_settings_app.js ('k') | chrome/browser/ui/app_list/app_list_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698