| Index: chrome/test/android/javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java
|
| diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java
|
| index 770f3d74dd81affc1d56030c86f1b785debcc8a5..49de9f5ff68b793bc987a97215a41d51903d8744 100644
|
| --- a/chrome/test/android/javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java
|
| +++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/MultiActivityTestBase.java
|
| @@ -20,6 +20,9 @@ import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tabmodel.document.DocumentTabModelSelector;
|
| import org.chromium.chrome.test.util.ApplicationTestUtils;
|
| import org.chromium.chrome.test.util.browser.tabmodel.document.MockStorageDelegate;
|
| +import org.chromium.chrome.test.util.parameters.AddFakeAccountToAppParameter;
|
| +import org.chromium.chrome.test.util.parameters.AddFakeAccountToOsParameter;
|
| +import org.chromium.chrome.test.util.parameters.AddGoogleAccountToOsParameter;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
|
|
| @@ -40,6 +43,7 @@ public abstract class MultiActivityTestBase extends InstrumentationTestCase
|
| protected static final String URL_4 = createTestUrl(4);
|
|
|
| private Parameter.Reader mParameterReader;
|
| + private Map<String, BaseParameter> mAvailableParameters;
|
|
|
| /** Defines one gigantic link spanning the whole page that creates a new window with URL_4. */
|
| protected static final String HREF_LINK = UrlUtils.encodeHtmlDataUri(
|
| @@ -169,14 +173,41 @@ public abstract class MultiActivityTestBase extends InstrumentationTestCase
|
| }
|
|
|
| /**
|
| - * Creates the list of available parameters that inherited classes can use.
|
| + * Creates the {@link Map} of available parameters for the test to use.
|
| *
|
| - * @return a list of {@link BaseParameter} objects to set as the available parameters.
|
| + * @return a {@link Map} of {@link BaseParameter} objects.
|
| + */
|
| + protected Map<String, BaseParameter> createAvailableParameters() {
|
| + Map<String, BaseParameter> availableParameters = new HashMap<>();
|
| + availableParameters
|
| + .put(MethodParameter.PARAMETER_TAG, new MethodParameter(getParameterReader()));
|
| + availableParameters.put(AddFakeAccountToAppParameter.PARAMETER_TAG,
|
| + new AddFakeAccountToAppParameter(getParameterReader(), getInstrumentation()));
|
| + availableParameters.put(AddFakeAccountToOsParameter.PARAMETER_TAG,
|
| + new AddFakeAccountToOsParameter(getParameterReader(), getInstrumentation()));
|
| + availableParameters.put(AddGoogleAccountToOsParameter.PARAMETER_TAG,
|
| + new AddGoogleAccountToOsParameter(getParameterReader(), getInstrumentation()));
|
| + return availableParameters;
|
| + }
|
| +
|
| + /**
|
| + * Gets the {@link Map} of available parameters that inherited classes can use.
|
| + *
|
| + * @return a {@link Map} of {@link BaseParameter} objects to set as the available parameters.
|
| */
|
| public Map<String, BaseParameter> getAvailableParameters() {
|
| - Map<String, BaseParameter> parameters = new HashMap<>();
|
| - parameters.put(MethodParameter.PARAMETER_TAG, new MethodParameter(getParameterReader()));
|
| - return parameters;
|
| + return mAvailableParameters;
|
| + }
|
| +
|
| + /**
|
| + * Gets a specific parameter from the current test.
|
| + *
|
| + * @param parameterTag a string with the name of the {@link BaseParameter} we want.
|
| + * @return a parameter that extends {@link BaseParameter} that has the matching parameterTag.
|
| + */
|
| + @SuppressWarnings("unchecked")
|
| + public <T extends BaseParameter> T getAvailableParameter(String parameterTag) {
|
| + return (T) mAvailableParameters.get(parameterTag);
|
| }
|
|
|
| /**
|
| @@ -186,13 +217,15 @@ public abstract class MultiActivityTestBase extends InstrumentationTestCase
|
| */
|
| public void setParameterReader(Parameter.Reader parameterReader) {
|
| mParameterReader = parameterReader;
|
| + mAvailableParameters = createAvailableParameters();
|
| }
|
|
|
| /**
|
| * Getter method for {@link Parameter.Reader} object to be used by test cases reading the
|
| * parameter.
|
| *
|
| - * @return the {@link Parameter.Reader} for the current {@link ParameterizedTest} being run.
|
| + * @return the {@link Parameter.Reader} for the current {@link
|
| + * org.chromium.base.test.util.parameter.ParameterizedTest} being run.
|
| */
|
| protected Parameter.Reader getParameterReader() {
|
| return mParameterReader;
|
|
|