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

Unified Diff: chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc

Issue 2519173003: Do not display goodies with --no-first-run. (Closed)
Patch Set: rename Created 4 years, 1 month 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
« no previous file with comments | « chrome/browser/chromeos/first_run/goodies_displayer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc
diff --git a/chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc b/chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc
index ef227ed418a4f14d1b9c26a39c04e86f5f41e5ea..cf849b16c823d0a4bd2493f2a88775252f2daee6 100644
--- a/chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc
+++ b/chrome/browser/chromeos/first_run/goodies_displayer_browsertest.cc
@@ -11,12 +11,14 @@
#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/test_launcher_utils.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/prefs/pref_service.h"
namespace chromeos {
-class GoodiesDisplayerBrowserTest : public InProcessBrowserTest {
+class GoodiesDisplayerBrowserTest : public InProcessBrowserTest,
+ public testing::WithParamInterface<bool> {
public:
GoodiesDisplayerBrowserTest() {}
@@ -61,6 +63,9 @@ class GoodiesDisplayerBrowserTest : public InProcessBrowserTest {
EXPECT_EQ(expected_goodies_tabs, goodies_tab_count);
}
+ // Is --no-first-run specified?
+ bool NoFirstRunSpecified() const { return GetParam(); }
+
private:
void WaitForGoodiesSetup() {
if (setup_info_.setup_complete)
@@ -77,8 +82,16 @@ class GoodiesDisplayerBrowserTest : public InProcessBrowserTest {
}
// InProcessBrowserTest overrides.
- void SetUpCommandLine(base::CommandLine* command_line) override {
- // Don't want a browser window until GoodiesDisplayer is observing.
+ void SetUpDefaultCommandLine(base::CommandLine* command_line) override {
+ base::CommandLine default_command_line(base::CommandLine::NO_PROGRAM);
+ InProcessBrowserTest::SetUpDefaultCommandLine(&default_command_line);
+ if (NoFirstRunSpecified()) { // --no-first-run is present by default.
+ *command_line = default_command_line;
+ ASSERT_TRUE(command_line->HasSwitch(switches::kNoFirstRun));
+ } else { // Remove --no-first-run.
+ test_launcher_utils::RemoveCommandLineSwitch(
+ default_command_line, switches::kNoFirstRun, command_line);
+ }
command_line->AppendSwitch(switches::kNoStartupWindow);
}
@@ -86,7 +99,10 @@ class GoodiesDisplayerBrowserTest : public InProcessBrowserTest {
};
// Tests that the Goodies page is not shown on older device.
-IN_PROC_BROWSER_TEST_F(GoodiesDisplayerBrowserTest, OldDeviceNoDisplay) {
+IN_PROC_BROWSER_TEST_P(GoodiesDisplayerBrowserTest, OldDeviceNoDisplay) {
+ if (NoFirstRunSpecified()) // --no-first-run disables Goodies page.
+ return;
+
EXPECT_TRUE(g_browser_process->local_state()->GetBoolean(
prefs::kCanShowOobeGoodiesPage));
@@ -101,8 +117,8 @@ IN_PROC_BROWSER_TEST_F(GoodiesDisplayerBrowserTest, OldDeviceNoDisplay) {
}
// Tests that the Goodies page is shown, only once, on non-incognito browser
-// when device isn't too old.
-IN_PROC_BROWSER_TEST_F(GoodiesDisplayerBrowserTest, DisplayGoodies) {
+// when device isn't too old, and when --no-first-run is not specified.
+IN_PROC_BROWSER_TEST_P(GoodiesDisplayerBrowserTest, DisplayGoodies) {
ASSERT_EQ(0u, chrome::GetTotalBrowserCount());
Browser* browser = CreateBrowserAndDisplayer(-1);
ASSERT_EQ(1u, chrome::GetTotalBrowserCount());
@@ -118,9 +134,13 @@ IN_PROC_BROWSER_TEST_F(GoodiesDisplayerBrowserTest, DisplayGoodies) {
EXPECT_TRUE(g_browser_process->local_state()->GetBoolean(
prefs::kCanShowOobeGoodiesPage));
- // First logged-in browser shows Goodies.
+ // First logged-in browser shows Goodies if --no-first-run is not specified.
AddBlankTabAndShow(browser);
- ExpectTabCounts(browser, 2, 1);
+ if (NoFirstRunSpecified())
+ ExpectTabCounts(browser, 1, 0);
+ else
+ ExpectTabCounts(browser, 2, 1);
+
EXPECT_FALSE(g_browser_process->local_state()->GetBoolean(
prefs::kCanShowOobeGoodiesPage));
@@ -130,5 +150,9 @@ IN_PROC_BROWSER_TEST_F(GoodiesDisplayerBrowserTest, DisplayGoodies) {
ExpectTabCounts(browser2, 1, 0);
}
+INSTANTIATE_TEST_CASE_P(/* no prefix */,
+ GoodiesDisplayerBrowserTest,
+ testing::Values(true, false));
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/first_run/goodies_displayer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698