Chromium Code Reviews| Index: chrome/browser/ui/startup/startup_browser_creator_browsertest.cc |
| diff --git a/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc b/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc |
| index aec9cf578fb04ec1e8a86e18b653d7f10aa17b2a..d787b33ec3cde4693ff81307c1f208b05f3611b7 100644 |
| --- a/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc |
| +++ b/chrome/browser/ui/startup/startup_browser_creator_browsertest.cc |
| @@ -37,6 +37,27 @@ |
| using extensions::Extension; |
| +namespace { |
| + |
| +// Check that there are two browsers. Find the one that is not |browser|. |
| +void FindOneOtherBrowser(Browser* browser, Browser** out_other_browser) { |
|
Bernhard Bauer
2013/04/03 17:55:20
Could you simply return the other browser here?
Sergiu
2013/04/04 09:02:55
Well, there is a comment below that says:
// Hel
Bernhard Bauer
2013/04/04 09:08:40
Well, yeah, an ASSERT expands to something that re
|
| + // There should only be one other browser. |
| + ASSERT_EQ(2u, chrome::GetBrowserCount(browser->profile(), |
| + browser->host_desktop_type())); |
| + |
| + // Find the new browser. |
| + Browser* other_browser = NULL; |
| + for (chrome::BrowserIterator it; !it.done() && !other_browser; it.Next()) { |
| + if (*it != browser) |
| + other_browser = *it; |
| + } |
| + ASSERT_TRUE(other_browser); |
| + ASSERT_TRUE(other_browser != browser); |
|
Bernhard Bauer
2013/04/03 17:55:20
This check isn't really necessary (that's the exac
Sergiu
2013/04/04 09:02:55
Done.
|
| + *out_other_browser = other_browser; |
| +} |
| + |
| +} // namespace |
| + |
| class StartupBrowserCreatorTest : public ExtensionBrowserTest { |
| protected: |
| virtual bool SetUpUserDataDirectory() OVERRIDE { |
| @@ -84,23 +105,6 @@ class StartupBrowserCreatorTest : public ExtensionBrowserTest { |
| service->extension_prefs()->SetLaunchType(app_id, launch_type); |
| } |
| - // Check that there are two browsers. Find the one that is not |browser()|. |
| - void FindOneOtherBrowser(Browser** out_other_browser) { |
| - // There should only be one other browser. |
| - ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), |
| - browser()->host_desktop_type())); |
| - |
| - // Find the new browser. |
| - Browser* other_browser = NULL; |
| - for (chrome::BrowserIterator it; !it.done() && !other_browser; it.Next()) { |
| - if (*it != browser()) |
| - other_browser = *it; |
| - } |
| - ASSERT_TRUE(other_browser); |
| - ASSERT_TRUE(other_browser != browser()); |
| - *out_other_browser = other_browser; |
| - } |
| - |
| Browser* FindOneOtherBrowserForProfile(Profile* profile, |
| Browser* not_this_browser) { |
| for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
| @@ -189,7 +193,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| // This should have created a new browser window. |browser()| is still |
| // around at this point, even though we've closed its window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| // The new browser should have one tab for each URL. |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| @@ -232,7 +236,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| // The new browser should have exactly one tab (not the startup URLs). |
| ASSERT_EQ(1, new_browser->tab_strip_model()->count()); |
| @@ -257,7 +261,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutNoPref) { |
| // No pref was set, so the app should have opened in a window. |
| // The launch should have created a new browser. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| // Expect an app window. |
| EXPECT_TRUE(new_browser->is_app()); |
| @@ -287,7 +291,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutWindowPref) { |
| // window. The launch should have created a new browser. Find the new |
| // browser. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| // Expect an app window. |
| EXPECT_TRUE(new_browser->is_app()); |
| @@ -320,7 +324,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutTabPref) { |
| browser()->host_desktop_type())); |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| // The tab should be in a tabbed window. |
| EXPECT_TRUE(new_browser->is_type_tabbed()); |
| @@ -373,7 +377,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, AddFirstRunTab) { |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| EXPECT_EQ(2, tab_strip->count()); |
| @@ -401,7 +405,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, AddCustomFirstRunTab) { |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| EXPECT_EQ(4, tab_strip->count()); |
| @@ -430,7 +434,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoNoWelcomePage) { |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| EXPECT_EQ(1, tab_strip->count()); |
| @@ -458,7 +462,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithWelcomePage) { |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| EXPECT_EQ(2, tab_strip->count()); |
| @@ -495,7 +499,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithFirstRunTabs) { |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| if (SyncPromoUI::ShouldShowSyncPromoAtStartup(browser()->profile(), true)) { |
| @@ -531,7 +535,7 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| // This should have created a new browser window. |
| Browser* new_browser = NULL; |
| - ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(&new_browser)); |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| if (SyncPromoUI::ShouldShowSyncPromoAtStartup(browser()->profile(), true)) { |
| @@ -892,4 +896,39 @@ IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) { |
| EXPECT_EQ(1U, |
| InfoBarService::FromWebContents(web_contents)->GetInfoBarCount()); |
| } |
| + |
| +class ManagedModeBrowserCreatorTest : public InProcessBrowserTest { |
| + protected: |
| + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| + InProcessBrowserTest::SetUpCommandLine(command_line); |
| + command_line->AppendSwitch(switches::kEnableManagedUsers); |
| + } |
| +}; |
| + |
| +IN_PROC_BROWSER_TEST_F(ManagedModeBrowserCreatorTest, |
| + StartupManagedModeProfile) { |
| + // Make this a managed profile. |
| + browser()->profile()->GetPrefs()->SetBoolean(prefs::kProfileIsManaged, true); |
| + StartupBrowserCreator browser_creator; |
| + |
| + // Do a simple non-process-startup browser launch. |
| + CommandLine dummy(CommandLine::NO_PROGRAM); |
| + StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| + chrome::startup::IS_FIRST_RUN); |
| + ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false)); |
| + |
| + // This should have created a new browser window. |
| + Browser* new_browser = NULL; |
| + ASSERT_NO_FATAL_FAILURE(FindOneOtherBrowser(browser(), &new_browser)); |
| + |
| + TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| + // There should be only one tab. |
| + EXPECT_EQ(1, tab_strip->count()); |
| + |
| + // And it should point to the managed user settings page. |
| + content::WebContents* web_contents = tab_strip->GetWebContentsAt(0); |
| + GURL expected(GURL(std::string(chrome::kChromeUISettingsURL) + |
| + chrome::kManagedUserSettingsSubPage)); |
| + EXPECT_EQ(GURL(expected), web_contents->GetURL()); |
| +} |
|
Bernhard Bauer
2013/04/03 17:55:20
Nit: a newline after this line would be nice.
Sergiu
2013/04/04 09:02:55
Done.
|
| #endif // !OS_CHROMEOS |