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 1f33d3469d0784978dc2764ba18ddc16683a9e60..37a1c0772f53d3dce1f8b50fb3e3ff6ea1865626 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 |
@@ -13,9 +13,6 @@ import android.accounts.Account; |
import android.app.Activity; |
import android.os.Bundle; |
-import org.chromium.base.BaseChromiumApplication; |
-import org.chromium.base.test.util.Feature; |
-import org.chromium.testing.local.LocalRobolectricTestRunner; |
import org.junit.After; |
import org.junit.Before; |
import org.junit.Test; |
@@ -25,6 +22,10 @@ import org.robolectric.annotation.Config; |
import org.robolectric.shadows.multidex.ShadowMultiDex; |
import org.robolectric.util.ActivityController; |
+import org.chromium.base.BaseChromiumApplication; |
+import org.chromium.base.test.util.Feature; |
+import org.chromium.testing.local.LocalRobolectricTestRunner; |
+ |
/** |
* Tests FirstRunFlowSequencer which contains the core logic of what should be shown during the |
* first run. |
@@ -62,6 +63,7 @@ public class FirstRunFlowSequencerTest { |
@Override |
public void onFlowIsKnown(Bundle freProperties) { |
calledOnFlowIsKnown = true; |
+ if (freProperties != null) onNativeInitialized(freProperties); |
returnedBundle = freProperties; |
} |
@@ -122,7 +124,10 @@ public class FirstRunFlowSequencerTest { |
@Before |
public void setUp() throws Exception { |
mActivityController = Robolectric.buildActivity(Activity.class); |
- mSequencer = new TestFirstRunFlowSequencer(mActivityController.setup().get(), new Bundle()); |
+ Bundle launchProperties = new Bundle(); |
+ launchProperties.putBoolean(FirstRunActivity.EXTRA_USE_FRE_FLOW_SEQUENCER, true); |
+ mSequencer = |
+ new TestFirstRunFlowSequencer(mActivityController.setup().get(), launchProperties); |
} |
@After |
@@ -133,16 +138,18 @@ public class FirstRunFlowSequencerTest { |
@Test |
@Feature({"FirstRun"}) |
public void testFirstRunComplete() { |
+ Account[] accounts = new Account[1]; |
+ accounts[0] = new Account(DEFAULT_ACCOUNT, GOOGLE_ACCOUNT_TYPE); |
mSequencer.isFirstRunFlowComplete = true; |
mSequencer.isSignedIn = false; |
mSequencer.isSyncAllowed = true; |
- mSequencer.googleAccounts = null; |
+ mSequencer.googleAccounts = accounts; |
mSequencer.hasAnyUserSeenToS = true; |
mSequencer.shouldSkipFirstUseHints = false; |
mSequencer.isFirstRunEulaAccepted = true; |
- mSequencer.processFreEnvironment( |
- false, // androidEduDevice |
+ mSequencer.initializeSharedState(false, // androidEduDevice |
false); // hasChildAccount |
+ mSequencer.processFreEnvironmentPreNative(); |
assertTrue(mSequencer.calledOnFlowIsKnown); |
assertNull(mSequencer.returnedBundle); |
assertFalse(mSequencer.calledSetDefaultMetricsAndCrashReporting); |
@@ -158,9 +165,9 @@ public class FirstRunFlowSequencerTest { |
mSequencer.hasAnyUserSeenToS = false; |
mSequencer.shouldSkipFirstUseHints = false; |
mSequencer.shouldShowDataReductionPage = false; |
- mSequencer.processFreEnvironment( |
- false, // androidEduDevice |
+ 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)); |
@@ -184,9 +191,9 @@ public class FirstRunFlowSequencerTest { |
mSequencer.hasAnyUserSeenToS = true; |
mSequencer.shouldSkipFirstUseHints = false; |
mSequencer.shouldShowDataReductionPage = false; |
- mSequencer.processFreEnvironment( |
- false, // androidEduDevice |
+ 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)); |
@@ -214,9 +221,9 @@ public class FirstRunFlowSequencerTest { |
mSequencer.hasAnyUserSeenToS = false; |
mSequencer.shouldSkipFirstUseHints = false; |
mSequencer.shouldShowDataReductionPage = false; |
- mSequencer.processFreEnvironment( |
- false, // androidEduDevice |
+ 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)); |
@@ -242,9 +249,9 @@ public class FirstRunFlowSequencerTest { |
mSequencer.hasAnyUserSeenToS = false; |
mSequencer.shouldSkipFirstUseHints = false; |
mSequencer.shouldShowDataReductionPage = true; |
- mSequencer.processFreEnvironment( |
- false, // androidEduDevice |
+ 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)); |