| Index: chrome/android/junit/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencerTest.java
|
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencerTest.java
|
| index 37a1c0772f53d3dce1f8b50fb3e3ff6ea1865626..4b5920f5837e4ca8da13dc71391cd1d56da0d76f 100644
|
| --- a/chrome/android/junit/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencerTest.java
|
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencerTest.java
|
| @@ -55,6 +55,7 @@ public class FirstRunFlowSequencerTest {
|
| public boolean shouldSkipFirstUseHints;
|
| public boolean isFirstRunEulaAccepted;
|
| public boolean shouldShowDataReductionPage;
|
| + public boolean shouldShowSearchEnginePage;
|
|
|
| public TestFirstRunFlowSequencer(Activity activity, Bundle launcherProvidedProperties) {
|
| super(activity, launcherProvidedProperties);
|
| @@ -108,6 +109,11 @@ public class FirstRunFlowSequencerTest {
|
| }
|
|
|
| @Override
|
| + public boolean shouldShowSearchEnginePage() {
|
| + return shouldShowSearchEnginePage;
|
| + }
|
| +
|
| + @Override
|
| public void setDefaultMetricsAndCrashReporting() {
|
| calledSetDefaultMetricsAndCrashReporting = true;
|
| }
|
| @@ -118,8 +124,8 @@ public class FirstRunFlowSequencerTest {
|
| }
|
| }
|
|
|
| - ActivityController<Activity> mActivityController;
|
| - TestFirstRunFlowSequencer mSequencer;
|
| + private ActivityController<Activity> mActivityController;
|
| + private TestFirstRunFlowSequencer mSequencer;
|
|
|
| @Before
|
| public void setUp() throws Exception {
|
| @@ -147,8 +153,8 @@ public class FirstRunFlowSequencerTest {
|
| mSequencer.hasAnyUserSeenToS = true;
|
| mSequencer.shouldSkipFirstUseHints = false;
|
| mSequencer.isFirstRunEulaAccepted = true;
|
| - mSequencer.initializeSharedState(false, // androidEduDevice
|
| - false); // hasChildAccount
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, false /* hasChildAccount */);
|
| +
|
| mSequencer.processFreEnvironmentPreNative();
|
| assertTrue(mSequencer.calledOnFlowIsKnown);
|
| assertNull(mSequencer.returnedBundle);
|
| @@ -165,18 +171,20 @@ public class FirstRunFlowSequencerTest {
|
| mSequencer.hasAnyUserSeenToS = false;
|
| mSequencer.shouldSkipFirstUseHints = false;
|
| mSequencer.shouldShowDataReductionPage = false;
|
| - mSequencer.initializeSharedState(false, // androidEduDevice
|
| - false); // hasChildAccount
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, false /* hasChildAccount */);
|
| +
|
| mSequencer.processFreEnvironmentPreNative();
|
| assertTrue(mSequencer.calledOnFlowIsKnown);
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(
|
| - FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| - assertEquals(4, mSequencer.returnedBundle.size());
|
| assertTrue(mSequencer.calledSetDefaultMetricsAndCrashReporting);
|
| assertFalse(mSequencer.calledSetFirstRunFlowSignInComplete);
|
| +
|
| + Bundle bundle = mSequencer.returnedBundle;
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE));
|
| + assertFalse(bundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| + assertEquals(5, bundle.size());
|
| }
|
|
|
| @Test
|
| @@ -191,22 +199,23 @@ public class FirstRunFlowSequencerTest {
|
| mSequencer.hasAnyUserSeenToS = true;
|
| mSequencer.shouldSkipFirstUseHints = false;
|
| mSequencer.shouldShowDataReductionPage = false;
|
| - mSequencer.initializeSharedState(false, // androidEduDevice
|
| - false); // hasChildAccount
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, false /* hasChildAccount */);
|
| +
|
| mSequencer.processFreEnvironmentPreNative();
|
| assertTrue(mSequencer.calledOnFlowIsKnown);
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(
|
| - FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(
|
| - AccountFirstRunFragment.PRESELECT_BUT_ALLOW_TO_CHANGE));
|
| - assertEquals(DEFAULT_ACCOUNT, mSequencer.returnedBundle.getString(
|
| - AccountFirstRunFragment.FORCE_SIGNIN_ACCOUNT_TO));
|
| - assertEquals(6, mSequencer.returnedBundle.size());
|
| assertTrue(mSequencer.calledSetDefaultMetricsAndCrashReporting);
|
| assertFalse(mSequencer.calledSetFirstRunFlowSignInComplete);
|
| +
|
| + Bundle bundle = mSequencer.returnedBundle;
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE));
|
| + assertFalse(bundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| + assertTrue(bundle.getBoolean(AccountFirstRunFragment.PRESELECT_BUT_ALLOW_TO_CHANGE));
|
| + assertEquals(
|
| + DEFAULT_ACCOUNT, bundle.getString(AccountFirstRunFragment.FORCE_SIGNIN_ACCOUNT_TO));
|
| + assertEquals(7, bundle.size());
|
| }
|
|
|
| @Test
|
| @@ -221,22 +230,23 @@ public class FirstRunFlowSequencerTest {
|
| mSequencer.hasAnyUserSeenToS = false;
|
| mSequencer.shouldSkipFirstUseHints = false;
|
| mSequencer.shouldShowDataReductionPage = false;
|
| - mSequencer.initializeSharedState(false, // androidEduDevice
|
| - true); // hasChildAccount
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, true /* hasChildAccount */);
|
| +
|
| mSequencer.processFreEnvironmentPreNative();
|
| assertTrue(mSequencer.calledOnFlowIsKnown);
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(
|
| - FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(
|
| - AccountFirstRunFragment.PRESELECT_BUT_ALLOW_TO_CHANGE));
|
| - assertEquals(DEFAULT_ACCOUNT, mSequencer.returnedBundle.getString(
|
| - AccountFirstRunFragment.FORCE_SIGNIN_ACCOUNT_TO));
|
| - assertEquals(6, mSequencer.returnedBundle.size());
|
| assertTrue(mSequencer.calledSetDefaultMetricsAndCrashReporting);
|
| assertTrue(mSequencer.calledSetFirstRunFlowSignInComplete);
|
| +
|
| + Bundle bundle = mSequencer.returnedBundle;
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE));
|
| + assertTrue(bundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| + assertFalse(bundle.getBoolean(AccountFirstRunFragment.PRESELECT_BUT_ALLOW_TO_CHANGE));
|
| + assertEquals(
|
| + DEFAULT_ACCOUNT, bundle.getString(AccountFirstRunFragment.FORCE_SIGNIN_ACCOUNT_TO));
|
| + assertEquals(7, bundle.size());
|
| }
|
|
|
| @Test
|
| @@ -249,16 +259,47 @@ public class FirstRunFlowSequencerTest {
|
| mSequencer.hasAnyUserSeenToS = false;
|
| mSequencer.shouldSkipFirstUseHints = false;
|
| mSequencer.shouldShowDataReductionPage = true;
|
| - mSequencer.initializeSharedState(false, // androidEduDevice
|
| - false); // hasChildAccount
|
| + mSequencer.shouldShowSearchEnginePage = false;
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, false /* hasChildAccount */);
|
| +
|
| mSequencer.processFreEnvironmentPreNative();
|
| assertTrue(mSequencer.calledOnFlowIsKnown);
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| - assertTrue(mSequencer.returnedBundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| - assertFalse(mSequencer.returnedBundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| - assertEquals(4, mSequencer.returnedBundle.size());
|
| assertTrue(mSequencer.calledSetDefaultMetricsAndCrashReporting);
|
| assertFalse(mSequencer.calledSetFirstRunFlowSignInComplete);
|
| +
|
| + Bundle bundle = mSequencer.returnedBundle;
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| + assertFalse(bundle.getBoolean(FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE));
|
| + assertFalse(bundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| + assertEquals(5, bundle.size());
|
| + }
|
| +
|
| + @Test
|
| + @Feature({"FirstRun"})
|
| + public void testStandardFlowShowSearchEnginePage() {
|
| + mSequencer.isFirstRunFlowComplete = false;
|
| + mSequencer.isSignedIn = false;
|
| + mSequencer.isSyncAllowed = true;
|
| + mSequencer.googleAccounts = new Account[0];
|
| + mSequencer.hasAnyUserSeenToS = false;
|
| + mSequencer.shouldSkipFirstUseHints = false;
|
| + mSequencer.shouldShowDataReductionPage = true;
|
| + mSequencer.shouldShowSearchEnginePage = true;
|
| + mSequencer.initializeSharedState(false /* androidEduDevice */, false /* hasChildAccount */);
|
| +
|
| + mSequencer.processFreEnvironmentPreNative();
|
| + assertTrue(mSequencer.calledOnFlowIsKnown);
|
| + assertTrue(mSequencer.calledSetDefaultMetricsAndCrashReporting);
|
| + assertFalse(mSequencer.calledSetFirstRunFlowSignInComplete);
|
| +
|
| + Bundle bundle = mSequencer.returnedBundle;
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_WELCOME_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SIGNIN_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_DATA_REDUCTION_PAGE));
|
| + assertTrue(bundle.getBoolean(FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE));
|
| + assertFalse(bundle.getBoolean(AccountFirstRunFragment.IS_CHILD_ACCOUNT));
|
| + assertEquals(5, bundle.size());
|
| }
|
| }
|
|
|