Index: chrome/browser/chrome_main_browsertest.cc |
=================================================================== |
--- chrome/browser/chrome_main_browsertest.cc (revision 133679) |
+++ chrome/browser/chrome_main_browsertest.cc (working copy) |
@@ -8,7 +8,6 @@ |
#include "base/file_util.h" |
#include "base/path_service.h" |
#include "base/process_util.h" |
-#include "base/test/test_suite.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_list.h" |
#include "chrome/common/chrome_notification_types.h" |
@@ -20,52 +19,25 @@ |
#include "content/public/browser/navigation_entry.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/web_contents.h" |
-#include "content/test/test_launcher.h" |
#include "net/base/net_util.h" |
-// These tests don't apply to the Mac version; see |
-// LaunchAnotherBrowserBlockUntilClosed for details. |
+// These tests don't apply to the Mac version; see GetCommandLineForRelaunch |
+// for details. |
#if !defined(OS_MACOSX) |
class ChromeMainTest : public InProcessBrowserTest { |
public: |
- ChromeMainTest() |
- : InProcessBrowserTest(), |
- new_command_line_(CommandLine::ForCurrentProcess()->GetProgram()) { |
- } |
+ ChromeMainTest() {} |
- virtual void SetUpOnMainThread() OVERRIDE { |
- CommandLine::SwitchMap switches = |
- CommandLine::ForCurrentProcess()->GetSwitches(); |
- switches.erase(switches::kUserDataDir); |
- switches.erase(test_launcher::kGTestFilterFlag); |
- |
- for (CommandLine::SwitchMap::const_iterator iter = switches.begin(); |
- iter != switches.end(); ++iter) { |
- new_command_line_.AppendSwitchNative((*iter).first, (*iter).second); |
- } |
- |
- FilePath user_data_dir; |
- PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); |
- new_command_line_.AppendSwitchPath(switches::kUserDataDir, user_data_dir); |
- |
- new_command_line_.AppendSwitchASCII( |
- test_launcher::kGTestFilterFlag, test_launcher::kEmptyTestName); |
- new_command_line_.AppendSwitch(TestSuite::kSilent); |
+ void Relaunch(const CommandLine& new_command_line) { |
+ base::LaunchProcess(new_command_line, base::LaunchOptions(), NULL); |
} |
- |
- void Relaunch() { |
- base::LaunchProcess(new_command_line_, base::LaunchOptions(), NULL); |
- } |
- |
- protected: |
- CommandLine new_command_line_; |
}; |
// Make sure that the second invocation creates a new window. |
IN_PROC_BROWSER_TEST_F(ChromeMainTest, SecondLaunch) { |
ui_test_utils::BrowserAddedObserver observer; |
- Relaunch(); |
+ Relaunch(GetCommandLineForRelaunch()); |
observer.WaitForSingleNewBrowser(); |
ASSERT_EQ(BrowserList::GetBrowserCount(browser()->profile()), 2u); |
} |
@@ -73,11 +45,12 @@ |
IN_PROC_BROWSER_TEST_F(ChromeMainTest, ReuseBrowserInstanceWhenOpeningFile) { |
FilePath test_file_path = ui_test_utils::GetTestFilePath( |
FilePath(), FilePath().AppendASCII("empty.html")); |
- new_command_line_.AppendArgPath(test_file_path); |
+ CommandLine new_command_line(GetCommandLineForRelaunch()); |
+ new_command_line.AppendArgPath(test_file_path); |
ui_test_utils::WindowedNotificationObserver observer( |
chrome::NOTIFICATION_TAB_ADDED, |
content::NotificationService::AllSources()); |
- Relaunch(); |
+ Relaunch(new_command_line); |
observer.Wait(); |
GURL url = net::FilePathToFileURL(test_file_path); |
@@ -94,14 +67,15 @@ |
// Run with --incognito switch and an URL specified. |
FilePath test_file_path = ui_test_utils::GetTestFilePath( |
FilePath(), FilePath().AppendASCII("empty.html")); |
- new_command_line_.AppendSwitch(switches::kIncognito); |
- new_command_line_.AppendArgPath(test_file_path); |
+ CommandLine new_command_line(GetCommandLineForRelaunch()); |
+ new_command_line.AppendSwitch(switches::kIncognito); |
+ new_command_line.AppendArgPath(test_file_path); |
- Relaunch(); |
+ Relaunch(new_command_line); |
// There should be one normal and one incognito window now. |
ui_test_utils::BrowserAddedObserver observer; |
- Relaunch(); |
+ Relaunch(new_command_line); |
observer.WaitForSingleNewBrowser(); |
ASSERT_EQ(2u, BrowserList::size()); |
@@ -136,11 +110,12 @@ |
// Run with just an URL specified, no --incognito switch. |
FilePath test_file_path = ui_test_utils::GetTestFilePath( |
FilePath(), FilePath().AppendASCII("empty.html")); |
- new_command_line_.AppendArgPath(test_file_path); |
+ CommandLine new_command_line(GetCommandLineForRelaunch()); |
+ new_command_line.AppendArgPath(test_file_path); |
ui_test_utils::WindowedNotificationObserver tab_observer( |
chrome::NOTIFICATION_TAB_ADDED, |
content::NotificationService::AllSources()); |
- Relaunch(); |
+ Relaunch(new_command_line); |
tab_observer.Wait(); |
// There should be one normal and one incognito window now. |