Commit 3c9698f2 authored by Wenyu Fu's avatar Wenyu Fu Committed by Commit Bot

Remove SettingsActivityTest#startSettingsActivity

As follow-up of the creation of SettingsActivityTestRule. Move all the
calls from SettingsActivityTest#startSettingsActivity to
SettingsActivityTestRule#startSettingsActivity.

Bug: 1066660
Change-Id: Ibf54ac73c82118bdfb53451b01e3a4aba982b912
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2134941
Commit-Queue: Wenyu Fu <wenyufu@chromium.org>
Reviewed-by: default avatarTheresa  <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#758649}
parent cfd7ad6e
...@@ -17,13 +17,15 @@ import android.support.test.filters.SmallTest; ...@@ -17,13 +17,15 @@ import android.support.test.filters.SmallTest;
import androidx.preference.Preference; import androidx.preference.Preference;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.chromium.base.task.PostTask; import org.chromium.base.task.PostTask;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.accessibility.FontSizePrefs; import org.chromium.chrome.browser.accessibility.FontSizePrefs;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.content_public.browser.UiThreadTaskTraits;
...@@ -38,6 +40,15 @@ import java.text.NumberFormat; ...@@ -38,6 +40,15 @@ import java.text.NumberFormat;
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(ChromeJUnit4ClassRunner.class)
public class AccessibilitySettingsTest { public class AccessibilitySettingsTest {
@Rule
public SettingsActivityTestRule<AccessibilitySettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(AccessibilitySettings.class);
@Before
public void setUp() {
mSettingsActivityTestRule.startSettingsActivity();
}
/** /**
* Tests setting FontScaleFactor and ForceEnableZoom in AccessibilitySettings and ensures * Tests setting FontScaleFactor and ForceEnableZoom in AccessibilitySettings and ensures
* that ForceEnableZoom changes corresponding to FontScaleFactor. * that ForceEnableZoom changes corresponding to FontScaleFactor.
...@@ -46,12 +57,7 @@ public class AccessibilitySettingsTest { ...@@ -46,12 +57,7 @@ public class AccessibilitySettingsTest {
@SmallTest @SmallTest
@Feature({"Accessibility"}) @Feature({"Accessibility"})
public void testAccessibilitySettings() throws Exception { public void testAccessibilitySettings() throws Exception {
String accessibilitySettingsClassname = AccessibilitySettings.class.getName(); AccessibilitySettings accessibilitySettings = mSettingsActivityTestRule.getFragment();
AccessibilitySettings accessibilitySettings =
(AccessibilitySettings) SettingsActivityTest
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
accessibilitySettingsClassname)
.getMainFragment();
TextScalePreference textScalePref = TextScalePreference textScalePref =
(TextScalePreference) accessibilitySettings.findPreference( (TextScalePreference) accessibilitySettings.findPreference(
AccessibilitySettings.PREF_TEXT_SCALE); AccessibilitySettings.PREF_TEXT_SCALE);
...@@ -98,12 +104,7 @@ public class AccessibilitySettingsTest { ...@@ -98,12 +104,7 @@ public class AccessibilitySettingsTest {
@SmallTest @SmallTest
@Feature({"Accessibility"}) @Feature({"Accessibility"})
public void testCaptionPreferences() { public void testCaptionPreferences() {
String accessibilitySettingsClassname = AccessibilitySettings.class.getName(); AccessibilitySettings accessibilitySettings = mSettingsActivityTestRule.getFragment();
AccessibilitySettings accessibilitySettings =
(AccessibilitySettings) SettingsActivityTest
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
accessibilitySettingsClassname)
.getMainFragment();
Preference captionsPref = Preference captionsPref =
accessibilitySettings.findPreference(AccessibilitySettings.PREF_CAPTIONS); accessibilitySettings.findPreference(AccessibilitySettings.PREF_CAPTIONS);
Assert.assertNotNull(captionsPref); Assert.assertNotNull(captionsPref);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.autofill.settings; package org.chromium.chrome.browser.autofill.settings;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest; import android.support.test.filters.MediumTest;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.widget.EditText; import android.widget.EditText;
...@@ -24,7 +23,7 @@ import org.chromium.chrome.browser.autofill.AutofillTestHelper; ...@@ -24,7 +23,7 @@ import org.chromium.chrome.browser.autofill.AutofillTestHelper;
import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.content_public.browser.test.util.Criteria; import org.chromium.content_public.browser.test.util.Criteria;
import org.chromium.content_public.browser.test.util.CriteriaHelper; import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.content_public.browser.test.util.TestThreadUtils; import org.chromium.content_public.browser.test.util.TestThreadUtils;
...@@ -41,6 +40,9 @@ import java.util.concurrent.TimeoutException; ...@@ -41,6 +40,9 @@ import java.util.concurrent.TimeoutException;
public class AutofillProfilesFragmentTest { public class AutofillProfilesFragmentTest {
@Rule @Rule
public final AutofillTestRule rule = new AutofillTestRule(); public final AutofillTestRule rule = new AutofillTestRule();
@Rule
public final SettingsActivityTestRule<AutofillProfilesFragment> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(AutofillProfilesFragment.class);
@Before @Before
public void setUp() throws TimeoutException { public void setUp() throws TimeoutException {
...@@ -65,9 +67,7 @@ public class AutofillProfilesFragmentTest { ...@@ -65,9 +67,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testAddProfile() throws Exception { public void testAddProfile() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment = AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment(); (AutofillProfilesFragment) activity.getMainFragment();
...@@ -108,9 +108,7 @@ public class AutofillProfilesFragmentTest { ...@@ -108,9 +108,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testAddIncompletedProfile() throws Exception { public void testAddIncompletedProfile() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment = AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment(); (AutofillProfilesFragment) activity.getMainFragment();
...@@ -133,9 +131,7 @@ public class AutofillProfilesFragmentTest { ...@@ -133,9 +131,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testDeleteProfile() throws Exception { public void testDeleteProfile() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment = AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment(); (AutofillProfilesFragment) activity.getMainFragment();
...@@ -167,9 +163,7 @@ public class AutofillProfilesFragmentTest { ...@@ -167,9 +163,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testEditProfile() throws Exception { public void testEditProfile() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment = AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment(); (AutofillProfilesFragment) activity.getMainFragment();
...@@ -211,9 +205,7 @@ public class AutofillProfilesFragmentTest { ...@@ -211,9 +205,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testOpenProfileWithCompleteState() throws Exception { public void testOpenProfileWithCompleteState() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment = AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment(); (AutofillProfilesFragment) activity.getMainFragment();
...@@ -239,11 +231,8 @@ public class AutofillProfilesFragmentTest { ...@@ -239,11 +231,8 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testOpenProfileWithInvalidState() throws Exception { public void testOpenProfileWithInvalidState() throws Exception {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), AutofillProfilesFragment autofillProfileFragment = mSettingsActivityTestRule.getFragment();
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment autofillProfileFragment =
(AutofillProfilesFragment) activity.getMainFragment();
// Check the preferences on the initial screen. // Check the preferences on the initial screen.
Assert.assertEquals(6 /* One toggle + one add button + four profiles. */, Assert.assertEquals(6 /* One toggle + one add button + four profiles. */,
...@@ -267,9 +256,7 @@ public class AutofillProfilesFragmentTest { ...@@ -267,9 +256,7 @@ public class AutofillProfilesFragmentTest {
@MediumTest @MediumTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testKeyboardShownOnDpadCenter() throws TimeoutException { public void testKeyboardShownOnDpadCenter() throws TimeoutException {
SettingsActivity activity = SettingsActivityTest.startSettingsActivity( SettingsActivity activity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(),
AutofillProfilesFragment.class.getName());
AutofillProfilesFragment fragment = (AutofillProfilesFragment) activity.getMainFragment(); AutofillProfilesFragment fragment = (AutofillProfilesFragment) activity.getMainFragment();
AutofillProfileEditorPreference addProfile = AutofillProfileEditorPreference addProfile =
......
...@@ -8,12 +8,12 @@ import static org.chromium.chrome.browser.flags.ChromeFeatureList.DARKEN_WEBSITE ...@@ -8,12 +8,12 @@ import static org.chromium.chrome.browser.flags.ChromeFeatureList.DARKEN_WEBSITE
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_DARKEN_WEBSITES_ENABLED; import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_DARKEN_WEBSITES_ENABLED;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_SETTING; import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.UI_THEME_SETTING;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -26,8 +26,7 @@ import org.chromium.chrome.R; ...@@ -26,8 +26,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.night_mode.NightModeUtils; import org.chromium.chrome.browser.night_mode.NightModeUtils;
import org.chromium.chrome.browser.night_mode.ThemeType; import org.chromium.chrome.browser.night_mode.ThemeType;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.browser.settings.SettingsActivityTest;
import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate; import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
import org.chromium.components.browser_ui.widget.RadioButtonWithDescription; import org.chromium.components.browser_ui.widget.RadioButtonWithDescription;
...@@ -51,6 +50,10 @@ public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase { ...@@ -51,6 +50,10 @@ public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase {
Arrays.asList(new ParameterSet().value(false).name("DefaultLightDisabled"), Arrays.asList(new ParameterSet().value(false).name("DefaultLightDisabled"),
new ParameterSet().value(true).name("DefaultLightEnabled")); new ParameterSet().value(true).name("DefaultLightEnabled"));
@Rule
public SettingsActivityTestRule<ThemeSettingsFragment> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(ThemeSettingsFragment.class);
private boolean mDefaultToLight; private boolean mDefaultToLight;
private ThemeSettingsFragment mFragment; private ThemeSettingsFragment mFragment;
private RadioButtonGroupThemePreference mPreference; private RadioButtonGroupThemePreference mPreference;
...@@ -65,10 +68,8 @@ public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase { ...@@ -65,10 +68,8 @@ public class ThemeSettingsFragmentTest extends DummyUiActivityTestCase {
super.setUpTest(); super.setUpTest();
SharedPreferencesManager.getInstance().removeKey(UI_THEME_SETTING); SharedPreferencesManager.getInstance().removeKey(UI_THEME_SETTING);
SharedPreferencesManager.getInstance().removeKey(UI_THEME_DARKEN_WEBSITES_ENABLED); SharedPreferencesManager.getInstance().removeKey(UI_THEME_DARKEN_WEBSITES_ENABLED);
SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), mFragment = mSettingsActivityTestRule.getFragment();
ThemeSettingsFragment.class.getName());
mFragment = (ThemeSettingsFragment) settingsActivity.getMainFragment();
mPreference = (RadioButtonGroupThemePreference) mFragment.findPreference( mPreference = (RadioButtonGroupThemePreference) mFragment.findPreference(
ThemeSettingsFragment.PREF_UI_THEME_PREF); ThemeSettingsFragment.PREF_UI_THEME_PREF);
} }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
package org.chromium.chrome.browser.notifications.settings; package org.chromium.chrome.browser.notifications.settings;
import android.os.Build; import android.os.Build;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
...@@ -24,7 +23,7 @@ import org.chromium.base.test.util.DisableIf; ...@@ -24,7 +23,7 @@ import org.chromium.base.test.util.DisableIf;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchPrefs; import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchPrefs;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.browser.site_settings.ContentSettingsResources; import org.chromium.chrome.browser.site_settings.ContentSettingsResources;
import org.chromium.chrome.browser.site_settings.SingleCategorySettings; import org.chromium.chrome.browser.site_settings.SingleCategorySettings;
import org.chromium.chrome.browser.site_settings.SiteSettingsCategory; import org.chromium.chrome.browser.site_settings.SiteSettingsCategory;
...@@ -45,6 +44,9 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils; ...@@ -45,6 +44,9 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils;
public class NotificationSettingsTest { public class NotificationSettingsTest {
@Rule @Rule
public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
@Rule
public final SettingsActivityTestRule<NotificationSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(NotificationSettings.class);
private SettingsActivity mActivity; private SettingsActivity mActivity;
@Rule @Rule
...@@ -52,8 +54,7 @@ public class NotificationSettingsTest { ...@@ -52,8 +54,7 @@ public class NotificationSettingsTest {
@Before @Before
public void setUp() { public void setUp() {
mActivity = SettingsActivityTest.startSettingsActivity( mActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), NotificationSettings.class.getName());
} }
// TODO(https://crbug.com/894334): Remove format suppression once formatting bug is fixed. // TODO(https://crbug.com/894334): Remove format suppression once formatting bug is fixed.
...@@ -66,8 +67,7 @@ public class NotificationSettingsTest { ...@@ -66,8 +67,7 @@ public class NotificationSettingsTest {
public void testContentSuggestionsToggle() { public void testContentSuggestionsToggle() {
// clang-format on // clang-format on
final PreferenceFragmentCompat fragment = final PreferenceFragmentCompat fragment = mSettingsActivityTestRule.getFragment();
(PreferenceFragmentCompat) mActivity.getMainFragment();
final ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference( final ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference(
NotificationSettings.PREF_SUGGESTIONS); NotificationSettings.PREF_SUGGESTIONS);
...@@ -103,7 +103,7 @@ public class NotificationSettingsTest { ...@@ -103,7 +103,7 @@ public class NotificationSettingsTest {
public void testToggleDisabledWhenPrefetchingDisabled() { public void testToggleDisabledWhenPrefetchingDisabled() {
// clang-format on // clang-format on
PreferenceFragmentCompat fragment = (PreferenceFragmentCompat) mActivity.getMainFragment(); PreferenceFragmentCompat fragment = mSettingsActivityTestRule.getFragment();
ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference( ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference(
NotificationSettings.PREF_SUGGESTIONS); NotificationSettings.PREF_SUGGESTIONS);
...@@ -123,8 +123,7 @@ public class NotificationSettingsTest { ...@@ -123,8 +123,7 @@ public class NotificationSettingsTest {
// clang-format on // clang-format on
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PreferenceFragmentCompat fragment = PreferenceFragmentCompat fragment = mSettingsActivityTestRule.getFragment();
(PreferenceFragmentCompat) mActivity.getMainFragment();
Preference fromWebsites = Preference fromWebsites =
fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES); fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES);
...@@ -154,8 +153,7 @@ public class NotificationSettingsTest { ...@@ -154,8 +153,7 @@ public class NotificationSettingsTest {
public void testWebsiteNotificationsSummary() { public void testWebsiteNotificationsSummary() {
// clang-format on // clang-format on
final PreferenceFragmentCompat fragment = final PreferenceFragmentCompat fragment = mSettingsActivityTestRule.getFragment();
(PreferenceFragmentCompat) mActivity.getMainFragment();
final Preference fromWebsites = final Preference fromWebsites =
fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES); fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES);
......
...@@ -96,7 +96,7 @@ import org.chromium.chrome.browser.history.StubbedHistoryProvider; ...@@ -96,7 +96,7 @@ import org.chromium.chrome.browser.history.StubbedHistoryProvider;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.browser.settings.SettingsLauncher; import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.sync.ProfileSyncService; import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.chrome.test.ChromeBrowserTestRule; import org.chromium.chrome.test.ChromeBrowserTestRule;
...@@ -137,6 +137,10 @@ public class PasswordSettingsTest { ...@@ -137,6 +137,10 @@ public class PasswordSettingsTest {
public IntentsTestRule<HistoryActivity> mHistoryActivityTestRule = public IntentsTestRule<HistoryActivity> mHistoryActivityTestRule =
new IntentsTestRule<>(HistoryActivity.class, false, false); new IntentsTestRule<>(HistoryActivity.class, false, false);
@Rule
public SettingsActivityTestRule<PasswordSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(PasswordSettings.class);
private static final class FakePasswordManagerHandler implements PasswordManagerHandler { private static final class FakePasswordManagerHandler implements PasswordManagerHandler {
// This class has exactly one observer, set on construction and expected to last at least as // This class has exactly one observer, set on construction and expected to last at least as
// long as this object (a good candidate is the owner of this object). // long as this object (a good candidate is the owner of this object).
...@@ -432,7 +436,7 @@ public class PasswordSettingsTest { ...@@ -432,7 +436,7 @@ public class PasswordSettingsTest {
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
// Disable the timer for progress bar. // Disable the timer for progress bar.
PasswordSettings fragment = (PasswordSettings) settingsActivity.getMainFragment(); PasswordSettings fragment = mSettingsActivityTestRule.getFragment();
fragment.getExportFlowForTesting() fragment.getExportFlowForTesting()
.getDialogManagerForTesting() .getDialogManagerForTesting()
.replaceCallbackDelayerForTesting(mManualDelayer); .replaceCallbackDelayerForTesting(mManualDelayer);
...@@ -481,7 +485,7 @@ public class PasswordSettingsTest { ...@@ -481,7 +485,7 @@ public class PasswordSettingsTest {
private void requestShowingExportErrorWithButton( private void requestShowingExportErrorWithButton(
SettingsActivity settingsActivity, int positiveButtonLabelId) { SettingsActivity settingsActivity, int positiveButtonLabelId) {
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings fragment = (PasswordSettings) settingsActivity.getMainFragment(); PasswordSettings fragment = mSettingsActivityTestRule.getFragment();
// To show an error, the error type for UMA needs to be specified. Because it is not // To show an error, the error type for UMA needs to be specified. Because it is not
// relevant for cases when the error is forcibly displayed in tests, // relevant for cases when the error is forcibly displayed in tests,
// HistogramExportResult.NO_CONSUMER is passed as an arbitrarily chosen value. // HistogramExportResult.NO_CONSUMER is passed as an arbitrarily chosen value.
...@@ -532,12 +536,10 @@ public class PasswordSettingsTest { ...@@ -532,12 +536,10 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testResetListEmpty() { public void testResetListEmpty() {
// Load the preferences, they should show the empty list. // Load the preferences, they should show the empty list.
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings savePasswordPreferences = PasswordSettings savePasswordPreferences = mSettingsActivityTestRule.getFragment();
(PasswordSettings) settingsActivity.getMainFragment();
// Emulate an update from PasswordStore. This should not crash. // Emulate an update from PasswordStore. This should not crash.
savePasswordPreferences.passwordListAvailable(0); savePasswordPreferences.passwordListAvailable(0);
}); });
...@@ -555,12 +557,10 @@ public class PasswordSettingsTest { ...@@ -555,12 +557,10 @@ public class PasswordSettingsTest {
PrefServiceBridge.getInstance().setBoolean(Pref.REMEMBER_PASSWORDS_ENABLED, true); PrefServiceBridge.getInstance().setBoolean(Pref.REMEMBER_PASSWORDS_ENABLED, true);
}); });
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings savedPasswordPrefs = PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
(PasswordSettings) settingsActivity.getMainFragment();
ChromeSwitchPreference onOffSwitch = ChromeSwitchPreference onOffSwitch =
(ChromeSwitchPreference) savedPasswordPrefs.findPreference( (ChromeSwitchPreference) savedPasswordPrefs.findPreference(
PasswordSettings.PREF_SAVE_PASSWORDS_SWITCH); PasswordSettings.PREF_SAVE_PASSWORDS_SWITCH);
...@@ -578,11 +578,9 @@ public class PasswordSettingsTest { ...@@ -578,11 +578,9 @@ public class PasswordSettingsTest {
PrefServiceBridge.getInstance().setBoolean(Pref.REMEMBER_PASSWORDS_ENABLED, false); PrefServiceBridge.getInstance().setBoolean(Pref.REMEMBER_PASSWORDS_ENABLED, false);
}); });
final SettingsActivity settingsActivity2 = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings savedPasswordPrefs = PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
(PasswordSettings) settingsActivity2.getMainFragment();
ChromeSwitchPreference onOffSwitch = ChromeSwitchPreference onOffSwitch =
(ChromeSwitchPreference) savedPasswordPrefs.findPreference( (ChromeSwitchPreference) savedPasswordPrefs.findPreference(
PasswordSettings.PREF_SAVE_PASSWORDS_SWITCH); PasswordSettings.PREF_SAVE_PASSWORDS_SWITCH);
...@@ -601,9 +599,8 @@ public class PasswordSettingsTest { ...@@ -601,9 +599,8 @@ public class PasswordSettingsTest {
// Add a password entry, because the link is only displayed if the password list is not // Add a password entry, because the link is only displayed if the password list is not
// empty. // empty.
setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password")); setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password"));
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName()); PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
PasswordSettings savedPasswordPrefs = (PasswordSettings) settingsActivity.getMainFragment();
Assert.assertNull( Assert.assertNull(
savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK)); savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK));
} }
...@@ -622,9 +619,8 @@ public class PasswordSettingsTest { ...@@ -622,9 +619,8 @@ public class PasswordSettingsTest {
overrideProfileSyncService(false, false); overrideProfileSyncService(false, false);
SigninTestUtil.addAndSignInTestAccount(); SigninTestUtil.addAndSignInTestAccount();
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName()); PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
PasswordSettings savedPasswordPrefs = (PasswordSettings) settingsActivity.getMainFragment();
Assert.assertNull( Assert.assertNull(
savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK)); savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK));
...@@ -644,9 +640,8 @@ public class PasswordSettingsTest { ...@@ -644,9 +640,8 @@ public class PasswordSettingsTest {
overrideProfileSyncService(false, true); overrideProfileSyncService(false, true);
SigninTestUtil.addAndSignInTestAccount(); SigninTestUtil.addAndSignInTestAccount();
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName()); PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
PasswordSettings savedPasswordPrefs = (PasswordSettings) settingsActivity.getMainFragment();
Assert.assertNotNull( Assert.assertNotNull(
savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK)); savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK));
...@@ -666,9 +661,8 @@ public class PasswordSettingsTest { ...@@ -666,9 +661,8 @@ public class PasswordSettingsTest {
overrideProfileSyncService(true, true); overrideProfileSyncService(true, true);
SigninTestUtil.addAndSignInTestAccount(); SigninTestUtil.addAndSignInTestAccount();
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName()); PasswordSettings savedPasswordPrefs = mSettingsActivityTestRule.getFragment();
PasswordSettings savedPasswordPrefs = (PasswordSettings) settingsActivity.getMainFragment();
Assert.assertNull( Assert.assertNull(
savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK)); savedPasswordPrefs.findPreference(PasswordSettings.PREF_KEY_MANAGE_ACCOUNT_LINK));
...@@ -687,11 +681,10 @@ public class PasswordSettingsTest { ...@@ -687,11 +681,10 @@ public class PasswordSettingsTest {
Pref.PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED, true); Pref.PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED, true);
}); });
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings passwordPrefs = (PasswordSettings) settingsActivity.getMainFragment(); PasswordSettings passwordPrefs = mSettingsActivityTestRule.getFragment();
ChromeBaseCheckBoxPreference onOffSwitch = ChromeBaseCheckBoxPreference onOffSwitch =
(ChromeBaseCheckBoxPreference) passwordPrefs.findPreference( (ChromeBaseCheckBoxPreference) passwordPrefs.findPreference(
PasswordSettings.PREF_AUTOSIGNIN_SWITCH); PasswordSettings.PREF_AUTOSIGNIN_SWITCH);
...@@ -710,10 +703,9 @@ public class PasswordSettingsTest { ...@@ -710,10 +703,9 @@ public class PasswordSettingsTest {
Pref.PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED, false); Pref.PASSWORD_MANAGER_AUTO_SIGNIN_ENABLED, false);
}); });
final SettingsActivity settingsActivity2 = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
PasswordSettings passwordPrefs = (PasswordSettings) settingsActivity2.getMainFragment(); PasswordSettings passwordPrefs = mSettingsActivityTestRule.getFragment();
ChromeBaseCheckBoxPreference onOffSwitch = ChromeBaseCheckBoxPreference onOffSwitch =
(ChromeBaseCheckBoxPreference) passwordPrefs.findPreference( (ChromeBaseCheckBoxPreference) passwordPrefs.findPreference(
PasswordSettings.PREF_AUTOSIGNIN_SWITCH); PasswordSettings.PREF_AUTOSIGNIN_SWITCH);
...@@ -737,8 +729,7 @@ public class PasswordSettingsTest { ...@@ -737,8 +729,7 @@ public class PasswordSettingsTest {
"example user", "example password"), "example user", "example password"),
new SavedPasswordEntry("https://test.com", "test user", "test password")}); new SavedPasswordEntry("https://test.com", "test user", "test password")});
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -782,8 +773,7 @@ public class PasswordSettingsTest { ...@@ -782,8 +773,7 @@ public class PasswordSettingsTest {
mMockPasswordEditingDelegate); mMockPasswordEditingDelegate);
setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password")); setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password"));
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -812,8 +802,7 @@ public class PasswordSettingsTest { ...@@ -812,8 +802,7 @@ public class PasswordSettingsTest {
mMockPasswordEditingDelegate); mMockPasswordEditingDelegate);
setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password")); setPasswordSource(new SavedPasswordEntry("https://example.com", "test user", "password"));
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -879,8 +868,7 @@ public class PasswordSettingsTest { ...@@ -879,8 +868,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
checkExportMenuItemState(MenuItemState.DISABLED); checkExportMenuItemState(MenuItemState.DISABLED);
} }
...@@ -896,8 +884,7 @@ public class PasswordSettingsTest { ...@@ -896,8 +884,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
checkExportMenuItemState(MenuItemState.ENABLED); checkExportMenuItemState(MenuItemState.ENABLED);
} }
...@@ -915,8 +902,7 @@ public class PasswordSettingsTest { ...@@ -915,8 +902,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
openActionBarOverflowOrOptionsMenu( openActionBarOverflowOrOptionsMenu(
InstrumentationRegistry.getInstrumentation().getTargetContext()); InstrumentationRegistry.getInstrumentation().getTargetContext());
...@@ -944,8 +930,7 @@ public class PasswordSettingsTest { ...@@ -944,8 +930,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -968,8 +953,7 @@ public class PasswordSettingsTest { ...@@ -968,8 +953,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1016,8 +1000,7 @@ public class PasswordSettingsTest { ...@@ -1016,8 +1000,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.UNAVAILABLE); ReauthenticationManager.OverrideState.UNAVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
View mainDecorView = settingsActivity.getWindow().getDecorView(); View mainDecorView = settingsActivity.getWindow().getDecorView();
openActionBarOverflowOrOptionsMenu( openActionBarOverflowOrOptionsMenu(
...@@ -1042,8 +1025,7 @@ public class PasswordSettingsTest { ...@@ -1042,8 +1025,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.UNAVAILABLE); ReauthenticationManager.OverrideState.UNAVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Trigger exporting and let it fail on the unavailable lock. // Trigger exporting and let it fail on the unavailable lock.
openActionBarOverflowOrOptionsMenu( openActionBarOverflowOrOptionsMenu(
...@@ -1067,8 +1049,7 @@ public class PasswordSettingsTest { ...@@ -1067,8 +1049,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE);
ReauthenticationManager.setSkipSystemReauth(true); ReauthenticationManager.setSkipSystemReauth(true);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
openActionBarOverflowOrOptionsMenu( openActionBarOverflowOrOptionsMenu(
InstrumentationRegistry.getInstrumentation().getTargetContext()); InstrumentationRegistry.getInstrumentation().getTargetContext());
...@@ -1094,8 +1075,7 @@ public class PasswordSettingsTest { ...@@ -1094,8 +1075,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Ensure that the last reauthentication time stamp is recent enough. // Ensure that the last reauthentication time stamp is recent enough.
ReauthenticationManager.recordLastReauth( ReauthenticationManager.recordLastReauth(
...@@ -1131,8 +1111,7 @@ public class PasswordSettingsTest { ...@@ -1131,8 +1111,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Intents.init(); Intents.init();
...@@ -1172,8 +1151,7 @@ public class PasswordSettingsTest { ...@@ -1172,8 +1151,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Intents.init(); Intents.init();
...@@ -1219,8 +1197,7 @@ public class PasswordSettingsTest { ...@@ -1219,8 +1197,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1245,8 +1222,7 @@ public class PasswordSettingsTest { ...@@ -1245,8 +1222,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1280,8 +1256,7 @@ public class PasswordSettingsTest { ...@@ -1280,8 +1256,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
openActionBarOverflowOrOptionsMenu( openActionBarOverflowOrOptionsMenu(
InstrumentationRegistry.getInstrumentation().getTargetContext()); InstrumentationRegistry.getInstrumentation().getTargetContext());
...@@ -1321,8 +1296,7 @@ public class PasswordSettingsTest { ...@@ -1321,8 +1296,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1350,8 +1324,7 @@ public class PasswordSettingsTest { ...@@ -1350,8 +1324,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Intents.init(); Intents.init();
...@@ -1409,8 +1382,7 @@ public class PasswordSettingsTest { ...@@ -1409,8 +1382,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Intents.init(); Intents.init();
...@@ -1462,8 +1434,7 @@ public class PasswordSettingsTest { ...@@ -1462,8 +1434,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1499,8 +1470,7 @@ public class PasswordSettingsTest { ...@@ -1499,8 +1470,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1538,8 +1508,7 @@ public class PasswordSettingsTest { ...@@ -1538,8 +1508,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1573,8 +1542,7 @@ public class PasswordSettingsTest { ...@@ -1573,8 +1542,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1619,8 +1587,7 @@ public class PasswordSettingsTest { ...@@ -1619,8 +1587,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
reauthenticateAndRequestExport(settingsActivity); reauthenticateAndRequestExport(settingsActivity);
...@@ -1658,8 +1625,7 @@ public class PasswordSettingsTest { ...@@ -1658,8 +1625,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.UNAVAILABLE); ReauthenticationManager.OverrideState.UNAVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( final SettingsActivity settingsActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
View mainDecorView = settingsActivity.getWindow().getDecorView(); View mainDecorView = settingsActivity.getWindow().getDecorView();
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -1684,8 +1650,7 @@ public class PasswordSettingsTest { ...@@ -1684,8 +1650,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -1707,11 +1672,8 @@ public class PasswordSettingsTest { ...@@ -1707,11 +1672,8 @@ public class PasswordSettingsTest {
@SuppressWarnings("AlwaysShowAction") // We need to ensure the icon is in the action bar. @SuppressWarnings("AlwaysShowAction") // We need to ensure the icon is in the action bar.
public void testSearchIconVisibleInActionBarWithFeature() { public void testSearchIconVisibleInActionBarWithFeature() {
setPasswordSource(null); // Initialize empty preferences. setPasswordSource(null); // Initialize empty preferences.
PasswordSettings f = mSettingsActivityTestRule.startSettingsActivity();
(PasswordSettings) SettingsActivityTest PasswordSettings f = mSettingsActivityTestRule.getFragment();
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
PasswordSettings.class.getName())
.getMainFragment();
// Force the search option into the action bar. // Force the search option into the action bar.
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
...@@ -1734,8 +1696,7 @@ public class PasswordSettingsTest { ...@@ -1734,8 +1696,7 @@ public class PasswordSettingsTest {
setPasswordSource( // Initialize preferences setPasswordSource( // Initialize preferences
new SavedPasswordEntry("https://example.com", "test user", "test password")); new SavedPasswordEntry("https://example.com", "test user", "test password"));
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withText(containsString("test user"))).perform(click()); Espresso.onView(withText(containsString("test user"))).perform(click());
...@@ -1749,12 +1710,9 @@ public class PasswordSettingsTest { ...@@ -1749,12 +1710,9 @@ public class PasswordSettingsTest {
@SmallTest @SmallTest
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchTextInOverflowMenuVisibleWithFeature() { public void testSearchTextInOverflowMenuVisibleWithFeature() {
setPasswordSource(null); // Initialize empty preferences. setPasswordSource(null); // Initialize empty preferences.mSettingsActivityTestRule
PasswordSettings f = mSettingsActivityTestRule.startSettingsActivity();
(PasswordSettings) SettingsActivityTest PasswordSettings f = mSettingsActivityTestRule.getFragment();
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
PasswordSettings.class.getName())
.getMainFragment();
// Force the search option into the overflow menu. // Force the search option into the overflow menu.
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
...@@ -1779,8 +1737,7 @@ public class PasswordSettingsTest { ...@@ -1779,8 +1737,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testTriggeringSearchRestoresHelpIcon() { public void testTriggeringSearchRestoresHelpIcon() {
setPasswordSource(null); setPasswordSource(null);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(isRoot()).check(waitForView(withText(R.string.password_settings_title))); Espresso.onView(isRoot()).check(waitForView(withText(R.string.password_settings_title)));
// Retrieve the initial status and ensure that the help option is there at all. // Retrieve the initial status and ensure that the help option is there at all.
...@@ -1824,8 +1781,7 @@ public class PasswordSettingsTest { ...@@ -1824,8 +1781,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchFiltersByUserName() { public void testSearchFiltersByUserName() {
setPasswordSourceWithMultipleEntries(GREEK_GODS); setPasswordSourceWithMultipleEntries(GREEK_GODS);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Search for a string matching multiple user names. Case doesn't need to match. // Search for a string matching multiple user names. Case doesn't need to match.
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
...@@ -1847,8 +1803,7 @@ public class PasswordSettingsTest { ...@@ -1847,8 +1803,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchFiltersByUrl() { public void testSearchFiltersByUrl() {
setPasswordSourceWithMultipleEntries(GREEK_GODS); setPasswordSourceWithMultipleEntries(GREEK_GODS);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Search for a string that matches multiple URLs. Case doesn't need to match. // Search for a string that matches multiple URLs. Case doesn't need to match.
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
...@@ -1870,8 +1825,7 @@ public class PasswordSettingsTest { ...@@ -1870,8 +1825,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchDisplaysNoResultMessageIfSearchTurnsUpEmpty() { public void testSearchDisplaysNoResultMessageIfSearchTurnsUpEmpty() {
setPasswordSourceWithMultipleEntries(GREEK_GODS); setPasswordSourceWithMultipleEntries(GREEK_GODS);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Open the search which should hide the Account link. // Open the search which should hide the Account link.
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
...@@ -1903,11 +1857,7 @@ public class PasswordSettingsTest { ...@@ -1903,11 +1857,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchIconClickedHidesExceptionsTemporarily() { public void testSearchIconClickedHidesExceptionsTemporarily() {
setPasswordExceptions(new String[] {"http://exclu.de", "http://not-inclu.de"}); setPasswordExceptions(new String[] {"http://exclu.de", "http://not-inclu.de"});
final PasswordSettings savePasswordPreferences = mSettingsActivityTestRule.startSettingsActivity();
(PasswordSettings) SettingsActivityTest
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
PasswordSettings.class.getName())
.getMainFragment();
Espresso.onView(withText(R.string.section_saved_passwords_exceptions)) Espresso.onView(withText(R.string.section_saved_passwords_exceptions))
.check(matches(isDisplayed())); .check(matches(isDisplayed()));
...@@ -1934,11 +1884,8 @@ public class PasswordSettingsTest { ...@@ -1934,11 +1884,8 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchIconClickedHidesGeneralPrefs() { public void testSearchIconClickedHidesGeneralPrefs() {
setPasswordSource(ZEUS_ON_EARTH); setPasswordSource(ZEUS_ON_EARTH);
final PasswordSettings prefs = mSettingsActivityTestRule.startSettingsActivity();
(PasswordSettings) SettingsActivityTest final PasswordSettings prefs = mSettingsActivityTestRule.getFragment();
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
PasswordSettings.class.getName())
.getMainFragment();
final AtomicReference<Boolean> menuInitiallyVisible = new AtomicReference<>(); final AtomicReference<Boolean> menuInitiallyVisible = new AtomicReference<>();
TestThreadUtils.runOnUiThreadBlocking( TestThreadUtils.runOnUiThreadBlocking(
() ()
...@@ -1976,8 +1923,7 @@ public class PasswordSettingsTest { ...@@ -1976,8 +1923,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchBarBackButtonRestoresGeneralPrefs() { public void testSearchBarBackButtonRestoresGeneralPrefs() {
setPasswordSourceWithMultipleEntries(GREEK_GODS); setPasswordSourceWithMultipleEntries(GREEK_GODS);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
Espresso.onView(withId(R.id.search_src_text)) Espresso.onView(withId(R.id.search_src_text))
...@@ -2002,8 +1948,7 @@ public class PasswordSettingsTest { ...@@ -2002,8 +1948,7 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchViewCloseIconExistsOnlyToClearQueries() { public void testSearchViewCloseIconExistsOnlyToClearQueries() {
setPasswordSourceWithMultipleEntries(GREEK_GODS); setPasswordSourceWithMultipleEntries(GREEK_GODS);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Trigger search which shouldn't have the button yet. // Trigger search which shouldn't have the button yet.
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
...@@ -2032,11 +1977,8 @@ public class PasswordSettingsTest { ...@@ -2032,11 +1977,8 @@ public class PasswordSettingsTest {
@Feature({"Preferences"}) @Feature({"Preferences"})
public void testSearchIconColorAffectsOnlyLocalSearchDrawable() { public void testSearchIconColorAffectsOnlyLocalSearchDrawable() {
// Open the password preferences and remember the applied color filter. // Open the password preferences and remember the applied color filter.
final PasswordSettings f = mSettingsActivityTestRule.startSettingsActivity();
(PasswordSettings) SettingsActivityTest final PasswordSettings f = mSettingsActivityTestRule.getFragment();
.startSettingsActivity(InstrumentationRegistry.getInstrumentation(),
PasswordSettings.class.getName())
.getMainFragment();
Espresso.onView(withId(R.id.search_button)).check(matches(isDisplayed())); Espresso.onView(withId(R.id.search_button)).check(matches(isDisplayed()));
final AtomicReference<ColorFilter> passwordSearchFilter = new AtomicReference<>(); final AtomicReference<ColorFilter> passwordSearchFilter = new AtomicReference<>();
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
...@@ -2085,8 +2027,7 @@ public class PasswordSettingsTest { ...@@ -2085,8 +2027,7 @@ public class PasswordSettingsTest {
ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.setApiOverride(ReauthenticationManager.OverrideState.AVAILABLE);
ReauthenticationManager.setScreenLockSetUpOverride( ReauthenticationManager.setScreenLockSetUpOverride(
ReauthenticationManager.OverrideState.AVAILABLE); ReauthenticationManager.OverrideState.AVAILABLE);
SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), PasswordSettings.class.getName());
// Open the search and filter all but "Zeus". // Open the search and filter all but "Zeus".
Espresso.onView(withSearchMenuIdOrText()).perform(click()); Espresso.onView(withSearchMenuIdOrText()).perform(click());
......
...@@ -24,7 +24,7 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer; ...@@ -24,7 +24,7 @@ import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
import org.chromium.chrome.browser.settings.MainSettings; import org.chromium.chrome.browser.settings.MainSettings;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.browser.site_settings.ContentSettingValues; import org.chromium.chrome.browser.site_settings.ContentSettingValues;
import org.chromium.chrome.browser.site_settings.PermissionInfo; import org.chromium.chrome.browser.site_settings.PermissionInfo;
import org.chromium.chrome.browser.site_settings.WebsitePreferenceBridgeJni; import org.chromium.chrome.browser.site_settings.WebsitePreferenceBridgeJni;
...@@ -51,6 +51,9 @@ import java.util.concurrent.ExecutionException; ...@@ -51,6 +51,9 @@ import java.util.concurrent.ExecutionException;
public class SearchEngineSettingsTest { public class SearchEngineSettingsTest {
@Rule @Rule
public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
@Rule
public final SettingsActivityTestRule<SearchEngineSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(SearchEngineSettings.class);
/** /**
* Change search engine and make sure it works correctly. * Change search engine and make sure it works correctly.
...@@ -63,12 +66,11 @@ public class SearchEngineSettingsTest { ...@@ -63,12 +66,11 @@ public class SearchEngineSettingsTest {
public void testSearchEnginePreference() throws Exception { public void testSearchEnginePreference() throws Exception {
ensureTemplateUrlServiceLoaded(); ensureTemplateUrlServiceLoaded();
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), SearchEngineSettings.class.getName());
// Set the second search engine as the default using TemplateUrlService. // Set the second search engine as the default using TemplateUrlService.
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
SearchEngineSettings pref = (SearchEngineSettings) settingsActivity.getMainFragment(); SearchEngineSettings pref = mSettingsActivityTestRule.getFragment();
pref.setValueForTesting("1"); pref.setValueForTesting("1");
// Ensure that the second search engine in the list is selected. // Ensure that the second search engine in the list is selected.
...@@ -178,18 +180,17 @@ public class SearchEngineSettingsTest { ...@@ -178,18 +180,17 @@ public class SearchEngineSettingsTest {
public void testSearchEnginePreferenceHttp() throws Exception { public void testSearchEnginePreferenceHttp() throws Exception {
ensureTemplateUrlServiceLoaded(); ensureTemplateUrlServiceLoaded();
final SettingsActivity settingsActivity = SettingsActivityTest.startSettingsActivity( mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), SearchEngineSettings.class.getName());
// Set the first search engine as the default using TemplateUrlService. // Set the first search engine as the default using TemplateUrlService.
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
SearchEngineSettings pref = (SearchEngineSettings) settingsActivity.getMainFragment(); SearchEngineSettings pref = mSettingsActivityTestRule.getFragment();
pref.setValueForTesting("0"); pref.setValueForTesting("0");
}); });
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
// Ensure that the first search engine in the list is selected. // Ensure that the first search engine in the list is selected.
SearchEngineSettings pref = (SearchEngineSettings) settingsActivity.getMainFragment(); SearchEngineSettings pref = mSettingsActivityTestRule.getFragment();
Assert.assertNotNull(pref); Assert.assertNotNull(pref);
Assert.assertEquals("0", pref.getValueForTesting()); Assert.assertEquals("0", pref.getValueForTesting());
......
...@@ -10,13 +10,8 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches; ...@@ -10,13 +10,8 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withText; import static android.support.test.espresso.matcher.ViewMatchers.withText;
import android.app.Activity;
import android.app.Instrumentation;
import android.content.Context;
import android.content.Intent;
import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -36,20 +31,6 @@ import org.chromium.policy.test.annotations.Policies; ...@@ -36,20 +31,6 @@ import org.chromium.policy.test.annotations.Policies;
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(ChromeJUnit4ClassRunner.class)
public class SettingsActivityTest { public class SettingsActivityTest {
/**
* Launches the settings activity with the specified fragment.
* Returns the activity that was started.
*/
public static SettingsActivity startSettingsActivity(
Instrumentation instrumentation, String fragmentName) {
Context context = instrumentation.getTargetContext();
Intent intent =
SettingsLauncher.getInstance().createIntentForSettingsPage(context, fragmentName);
Activity activity = instrumentation.startActivitySync(intent);
Assert.assertTrue(activity instanceof SettingsActivity);
return (SettingsActivity) activity;
}
@Rule @Rule
public SettingsActivityTestRule<MainSettings> mSettingsActivityTestRule = public SettingsActivityTestRule<MainSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(MainSettings.class); new SettingsActivityTestRule<>(MainSettings.class);
......
...@@ -15,7 +15,6 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText; ...@@ -15,7 +15,6 @@ import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.core.AllOf.allOf; import static org.hamcrest.core.AllOf.allOf;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.contrib.RecyclerViewActions; import android.support.test.espresso.contrib.RecyclerViewActions;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
...@@ -26,6 +25,7 @@ import androidx.test.filters.SmallTest; ...@@ -26,6 +25,7 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -39,7 +39,7 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings; ...@@ -39,7 +39,7 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.settings.SettingsActivity; import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsActivityTest; import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
import org.chromium.chrome.browser.translate.TranslateBridge; import org.chromium.chrome.browser.translate.TranslateBridge;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.browser.RecyclerViewTestUtils; import org.chromium.chrome.test.util.browser.RecyclerViewTestUtils;
...@@ -56,13 +56,14 @@ import org.chromium.ui.test.util.UiRestriction; ...@@ -56,13 +56,14 @@ import org.chromium.ui.test.util.UiRestriction;
@Restriction(UiRestriction.RESTRICTION_TYPE_PHONE) @Restriction(UiRestriction.RESTRICTION_TYPE_PHONE)
public class LanguageSettingsTest { public class LanguageSettingsTest {
// clang-format on // clang-format on
@Rule
public final SettingsActivityTestRule<LanguageSettings> mSettingsActivityTestRule =
new SettingsActivityTestRule<>(LanguageSettings.class);
private SettingsActivity mActivity; private SettingsActivity mActivity;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
mActivity = SettingsActivityTest.startSettingsActivity( mActivity = mSettingsActivityTestRule.startSettingsActivity();
InstrumentationRegistry.getInstrumentation(), LanguageSettings.class.getName());
} }
private void addLanguage() { private void addLanguage() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment