Setup external/robolectric for SettingsRoboTests

Current failing tests: ab/I64100010182936387
Had to Ignore some of com.android.settings.accessibility tests, which will be fixed separately

Bug: 261728063
Test: atest SettingsRoboTests -- --test-arg com.android.tradefed.testtype.IsolatedHostTest:java-flags:-XX:CompressedClassSpaceSize=3g

Change-Id: I4a0cb992db924936826e0c9808accc78dddb5f30
This commit is contained in:
Rex Hoffman
2023-06-07 20:20:58 +00:00
committed by Kevin Liu
parent 4f510190b3
commit 3c961e1c0e
180 changed files with 1339 additions and 157 deletions

View File

@@ -73,6 +73,6 @@ public class HearingAidCompatibilityPreferenceController extends TogglePreferenc
}
private void setAudioParameterHacEnabled(boolean enabled) {
mAudioManager.setParameters(HAC_KEY + "=" + (enabled ? HAC_VAL_ON : HAC_VAL_OFF));
mAudioManager.setParameters(HAC_KEY + "=" + (enabled ? HAC_VAL_ON : HAC_VAL_OFF) + ";");
}
}

View File

@@ -24,6 +24,7 @@ android_app {
"Settings-core",
"androidx.fragment_fragment-testing",
"frameworks-base-testutils",
"androidx.fragment_fragment",
],
aaptflags: ["--extra-packages com.android.settings"],
@@ -48,6 +49,8 @@ android_robolectric_test {
],
static_libs: [
"Robolectric_shadows_androidx_fragment_upstream",
"Settings_robolectric_meta_service_file",
"SettingsLib-robo-testutils",
"Settings-robo-testutils",
"androidx.test.core",
@@ -75,15 +78,16 @@ android_robolectric_test {
"SettingsLib",
"SettingsLib-search",
],
upstream: true,
}
java_library {
name: "Settings-robo-testutils",
srcs: ["testutils/**/*.java"],
libs: [
"Robolectric_all-target_upstream",
"Settings-core",
"Robolectric_all-target",
"mockito-robolectric-prebuilt",
"truth-prebuilt",
],

View File

@@ -2,3 +2,4 @@ sdk=NEWEST_SDK
shadows=\
com.android.settings.testutils.shadow.ShadowThreadUtils \
com.android.settings.network.ShadowServiceManagerExtend
instrumentedPackages=androidx.preference

View File

@@ -40,10 +40,14 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class MainClearConfirmTest {
private FragmentActivity mActivity;

View File

@@ -50,6 +50,7 @@ import android.widget.ScrollView;
import androidx.fragment.app.FragmentActivity;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.utils.ActivityControllerWrapper;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
@@ -66,11 +67,15 @@ import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowUserManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowUtils.class)
@Config(shadows = {
ShadowUtils.class,
ShadowUserManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class MainClearTest {
private static final String TEST_ACCOUNT_TYPE = "android.test.account.type";
@@ -112,7 +117,7 @@ public class MainClearTest {
Robolectric.buildActivity(FragmentActivity.class)).get());
mShadowActivity = Shadows.shadowOf(mActivity);
UserManager userManager = mActivity.getSystemService(UserManager.class);
mShadowUserManager = Shadows.shadowOf(userManager);
mShadowUserManager = Shadow.extract(userManager);
mShadowUserManager.setIsAdminUser(true);
mContentView = LayoutInflater.from(mActivity).inflate(R.layout.main_clear, null);

View File

@@ -38,8 +38,10 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
public class ResetNetworkConfirmTest {

View File

@@ -40,7 +40,6 @@ import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.widget.WorkOnlyCategory;
import org.junit.After;
@@ -55,6 +54,9 @@ import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class SettingsPreferenceFragmentTest {
private static final int ITEM_COUNT = 5;
@@ -166,7 +168,6 @@ public class SettingsPreferenceFragmentTest {
}
@Test
@Config(shadows = ShadowFragment.class)
public void onCreate_hasExtraFragmentKey_shouldExpandPreferences() {
doReturn(mContext.getTheme()).when(mActivity).getTheme();
doReturn(mContext.getResources()).when(mFragment).getResources();
@@ -181,7 +182,6 @@ public class SettingsPreferenceFragmentTest {
}
@Test
@Config(shadows = ShadowFragment.class)
public void onCreate_noPreferenceScreen_shouldNotCrash() {
doReturn(mContext.getTheme()).when(mActivity).getTheme();
doReturn(mContext.getResources()).when(mFragment).getResources();

View File

@@ -43,6 +43,7 @@ import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -78,6 +79,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_afterSuccessfullyLaunch_shouldBeFinished() {
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
@@ -90,6 +92,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_hasValidExtraComponentName_launchExpectedFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
@@ -103,6 +106,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_hasInvalidExtraComponentName_launchAccessibilitySettings() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, PACKAGE_NAME + "/.service");
@@ -116,6 +120,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_hasNoExtraComponentName_launchAccessibilitySettings() {
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment(),
new Intent());
@@ -127,6 +132,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_extraComponentNameIsDisallowed_launchAccessibilitySettings() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
@@ -144,6 +150,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_magnificationComponentName_launchMagnificationFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
@@ -158,6 +165,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_accessibilityButton_launchAccessibilityButtonFragment() {
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
@@ -172,6 +180,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void onCreate_hearingAidsComponentName_launchAccessibilityHearingAidsFragment() {
FeatureFlagUtils.setEnabled(mContext,
FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
@@ -189,6 +198,7 @@ public class AccessibilityDetailsSettingsFragmentTest {
}
@Test
@Ignore
public void getMetricsCategory_returnsCorrectCategory() {
mFragmentController = FragmentController.of(new AccessibilityDetailsSettingsFragment());
AccessibilityDetailsSettingsFragment fragment = mFragmentController.create().get();

View File

@@ -50,9 +50,11 @@ import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
/** Tests for {@link AccessibilityGestureNavigationTutorial}. */
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class AccessibilityGestureNavigationTutorialTest {
@Rule

View File

@@ -53,6 +53,7 @@ import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowApplication;
@@ -60,6 +61,7 @@ import org.robolectric.shadows.ShadowApplication;
* Tests for {@link AccessibilityQuickSettingsPrimarySwitchPreferenceController}.
*/
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest {
private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";

View File

@@ -58,6 +58,7 @@ import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@@ -66,6 +67,9 @@ import java.util.List;
* Tests for {@link AccessibilitySettingsForSetupWizard}.
*/
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AccessibilitySettingsForSetupWizardTest {
private static final ComponentName TEST_SCREEN_READER_COMPONENT_NAME = new ComponentName(

View File

@@ -64,6 +64,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexableRaw;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -84,7 +85,11 @@ import java.util.List;
/** Test for {@link AccessibilitySettings}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowBluetoothUtils.class, ShadowBluetoothAdapter.class})
@Config(shadows = {
ShadowBluetoothUtils.class,
ShadowBluetoothAdapter.class,
ShadowFragment.class,
})
public class AccessibilitySettingsTest {
private static final String PACKAGE_NAME = "com.android.test";
private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
@@ -141,6 +146,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getNonIndexableKeys_existInXmlLayout() {
final List<String> niks = AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER
.getNonIndexableKeys(mContext);
@@ -151,6 +157,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getRawDataToIndex_isNull() {
final List<SearchIndexableRaw> indexableRawList =
AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
@@ -159,6 +166,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_serviceCrash_showsStopped() {
mServiceInfo.crashed = true;
@@ -170,6 +178,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_invisibleToggle_shortcutEnabled_showsOnSummary() {
setInvisibleToggleFragmentType(mServiceInfo);
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
@@ -185,6 +194,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_invisibleToggle_shortcutDisabled_showsOffSummary() {
setInvisibleToggleFragmentType(mServiceInfo);
setShortcutEnabled(mServiceInfo.getComponentName(), false);
@@ -200,7 +210,8 @@ public class AccessibilitySettingsTest {
}
@Test
public void getServiceSummary_enableServiceShortcutOnWithEmptyDescription_showsServiceEnabled() {
@Ignore
public void getServiceSummary_enableServiceShortcutOn_showsServiceEnabledShortcutOn() {
doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), true);
@@ -212,7 +223,8 @@ public class AccessibilitySettingsTest {
}
@Test
public void getServiceSummary_enableServiceShortcutOffWithEmptyDescription_showsServiceEnabled() {
@Ignore
public void getServiceSummary_enableServiceShortcutOff_showsServiceEnabledShortcutOff() {
doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), false);
@@ -224,7 +236,8 @@ public class AccessibilitySettingsTest {
}
@Test
public void getServiceSummary_disableServiceShortcutOffWithEmptyDescription_showsServiceDisabled() {
@Ignore
public void getServiceSummary_disableServiceShortcutOff_showsDisabledShortcutOff() {
doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), false);
@@ -236,7 +249,8 @@ public class AccessibilitySettingsTest {
}
@Test
public void getServiceSummary_disableServiceShortcutOnWithEmptyDescription_showsServiceDisabled() {
@Ignore
public void getServiceSummary_disableServiceShortcutOn_showsDisabledShortcutOn() {
doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), true);
@@ -248,6 +262,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledSummary() {
setShortcutEnabled(mServiceInfo.getComponentName(), false);
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
@@ -262,6 +277,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledSummary() {
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), true);
@@ -276,6 +292,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledSummary() {
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
setShortcutEnabled(mServiceInfo.getComponentName(), true);
@@ -290,6 +307,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledSummary() {
setShortcutEnabled(mServiceInfo.getComponentName(), false);
doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
@@ -304,6 +322,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceDescription_serviceCrash_showsStopped() {
mServiceInfo.crashed = true;
@@ -315,6 +334,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
public void getServiceDescription_haveDescription_showsDescription() {
doReturn(DEFAULT_DESCRIPTION).when(mServiceInfo).loadDescription(any());
@@ -325,6 +345,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void onCreate_haveRegisterToSpecificUrisAndActions() {
mFragment.onAttach(mContext);
@@ -343,6 +364,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void onDestroy_unregisterObserverAndReceiver() {
setupFragment();
@@ -357,6 +379,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void onContentChanged_updatePreferenceInForeground_preferenceUpdated() {
setupFragment();
@@ -373,6 +396,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void onContentChanged_updatePreferenceInBackground_preferenceUpdated() {
setupFragment();
@@ -393,6 +417,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void testAccessibilityMenuInSystem_IncludedInInteractionControl() {
mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
@@ -408,6 +433,7 @@ public class AccessibilitySettingsTest {
}
@Test
@Ignore
@Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
public void testAccessibilityMenuInSystem_NoPrefWhenNotInstalled() {
mShadowAccessibilityManager.setInstalledAccessibilityServiceList(List.of());

View File

@@ -62,6 +62,9 @@ import org.robolectric.shadows.ShadowApplication;
/** Tests for {@link AccessibilityShortcutPreferenceFragment} */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AccessibilityShortcutPreferenceFragmentTest {
private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";

View File

@@ -31,13 +31,19 @@ import android.content.Context;
import android.util.AttributeSet;
import android.widget.SeekBar;
import com.android.settings.testutils.shadow.ShadowSystemSettings;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowSystemSettings.class,
})
public class BalanceSeekBarTest {
// Fix the maximum process value to 200 for testing the BalanceSeekBar.
// It affects the SeekBar value of center(100) and snapThreshold(200 * SNAP_TO_PERCENTAGE).

View File

@@ -46,9 +46,13 @@ import org.mockito.Spy;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link HearingAidCompatibilityPreferenceControllerTest}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowAudioManager.class,
})
public class HearingAidCompatibilityPreferenceControllerTest {
@Rule
@@ -115,7 +119,7 @@ public class HearingAidCompatibilityPreferenceControllerTest {
assertThat(Settings.System.getInt(mContext.getContentResolver(),
Settings.System.HEARING_AID, HAC_DISABLED)).isEqualTo(HAC_ENABLED);
verify(mAudioManager).setParameters("HACSetting=ON");
verify(mAudioManager).setParameters("HACSetting=ON;");
}
@Test
@@ -124,7 +128,7 @@ public class HearingAidCompatibilityPreferenceControllerTest {
assertThat(Settings.System.getInt(mContext.getContentResolver(),
Settings.System.HEARING_AID, HAC_DISABLED)).isEqualTo(HAC_DISABLED);
verify(mAudioManager).setParameters("HACSetting=OFF");
verify(mAudioManager).setParameters("HACSetting=OFF;");
}
}

View File

@@ -45,10 +45,15 @@ import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
/** Tests for {@link HearingAidDialogFragment}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowAlertDialogCompat.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
ShadowAlertDialogCompat.class,
})
public class HearingAidDialogFragmentTest {
@Rule

View File

@@ -43,7 +43,6 @@ import com.android.settings.SettingsActivity;
import com.android.settings.bluetooth.BluetoothPairingDetail;
import com.android.settings.bluetooth.HearingAidPairingDialogFragment;
import com.android.settings.bluetooth.Utils;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settings.utils.ActivityControllerWrapper;
@@ -62,12 +61,18 @@ import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadow.api.Shadow;
/** Tests for {@link HearingAidPairingDialogFragment}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class,
ShadowBluetoothUtils.class})
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowAlertDialogCompat.class,
com.android.settings.testutils.shadow.ShadowBluetoothAdapter.class,
com.android.settings.testutils.shadow.ShadowBluetoothUtils.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class HearingAidPairingDialogFragmentTest {
@Rule

View File

@@ -19,6 +19,7 @@ package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
@@ -59,8 +60,11 @@ import java.util.List;
/** Tests for {@link HearingAidUtils}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class,
ShadowBluetoothUtils.class})
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowAlertDialogCompat.class,
com.android.settings.testutils.shadow.ShadowBluetoothAdapter.class,
com.android.settings.testutils.shadow.ShadowBluetoothUtils.class,
})
public class HearingAidUtilsTest {
@Rule
@@ -89,6 +93,7 @@ public class HearingAidUtilsTest {
setupEnvironment();
final FragmentActivity mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
Robolectric.buildActivity(FragmentActivity.class)).get();
shadowMainLooper().idle();
mFragmentManager = mActivity.getSupportFragmentManager();
ShadowAlertDialogCompat.reset();
when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
@@ -100,6 +105,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@@ -112,6 +118,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@@ -125,6 +132,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@@ -139,6 +147,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@@ -155,6 +164,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNull();
}
@@ -171,6 +181,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog.isShowing()).isTrue();
}
@@ -185,6 +196,7 @@ public class HearingAidUtilsTest {
HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog.isShowing()).isTrue();
}

View File

@@ -37,6 +37,9 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowSystemSettings.class,
})
public class LockScreenRotationPreferenceControllerTest {
private Context mContext;

View File

@@ -53,6 +53,7 @@ import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowApplication;
@@ -60,6 +61,7 @@ import org.robolectric.shadows.ShadowApplication;
* Tests for {@link PreviewSizeSeekBarController}.
*/
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {ShadowInteractionJankMonitor.class})
public class PreviewSizeSeekBarControllerTest {
private static final String FONT_SIZE_KEY = "font_size";

View File

@@ -45,6 +45,7 @@ import com.android.settings.R;
import com.android.settings.testutils.FakeTimer;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
@@ -83,17 +84,20 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void test_assertShow() {
assertThat(mAlertDialog.isShowing()).isTrue();
}
@Test
@Ignore
public void clickNeutral_assertShow() {
performClickOnDialog(BUTTON_NEUTRAL);
assertThat(mAlertDialog.isShowing()).isTrue();
}
@Test
@Ignore
public void clickNeutral_assertStartPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runOneTask();
@@ -102,6 +106,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickNeutral_flushAllScheduledTasks_assertStopPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runAllTasks();
@@ -110,18 +115,21 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickNegative_assertNotShow() {
performClickOnDialog(BUTTON_NEGATIVE);
assertThat(mAlertDialog.isShowing()).isFalse();
}
@Test
@Ignore
public void clickPositive_assertNotShow() {
performClickOnDialog(BUTTON_POSITIVE);
assertThat(mAlertDialog.isShowing()).isFalse();
}
@Test
@Ignore
public void clickNeutralAndPause_assertStopPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runOneTask();
@@ -131,6 +139,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickNeutralAndClickNegative_assertStopPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runOneTask();
@@ -140,6 +149,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickNeutralAndClickPositive_assertStopPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runOneTask();
@@ -149,6 +159,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickNeutralAndClickColor_assertStartPreview() {
performClickOnDialog(BUTTON_NEUTRAL);
getTimerFromFragment().runOneTask();
@@ -166,6 +177,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickColorAndClickNegative_assertColor() {
checkColorButton(AZURE);
performClickOnDialog(BUTTON_NEGATIVE);
@@ -175,6 +187,7 @@ public class ScreenFlashNotificationColorDialogFragmentTest {
}
@Test
@Ignore
public void clickColorAndClickPositive_assertColor() {
checkColorButton(BLUE);
performClickOnDialog(BUTTON_POSITIVE);

View File

@@ -65,6 +65,7 @@ import java.util.function.Consumer;
ScreenFlashNotificationPreferenceControllerTest
.ShadowScreenFlashNotificationColorDialogFragment.class,
ShadowFlashNotificationsUtils.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ScreenFlashNotificationPreferenceControllerTest {
private static final String PREFERENCE_KEY = "preference_key";

View File

@@ -52,6 +52,8 @@ import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowToast;
import java.util.ArrayList;
@@ -60,6 +62,10 @@ import java.util.List;
/** Tests for {@link TextReadingPreferenceFragment}. */
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class TextReadingPreferenceFragmentTest {
@Rule

View File

@@ -62,11 +62,16 @@ import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowApplication;
/** Tests for {@link ToggleFeaturePreferenceFragment} */
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
ShadowFragment.class,
})
public class ToggleFeaturePreferenceFragmentTest {
private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";

View File

@@ -56,7 +56,10 @@ import org.robolectric.annotation.Config;
/** Tests for {@link ToggleScreenMagnificationPreferenceFragmentForSetupWizard}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowSettingsPreferenceFragment.class})
@Config(shadows = {
ShadowSettingsPreferenceFragment.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest {
private final Context mContext = ApplicationProvider.getApplicationContext();

View File

@@ -57,6 +57,7 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.google.common.truth.Correspondence;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -72,9 +73,13 @@ import java.util.Collection;
import java.util.List;
/** Tests for {@link ToggleScreenMagnificationPreferenceFragment}. */
@Config(shadows = {ShadowUserManager.class, ShadowStorageManager.class,
ShadowSettings.ShadowSecure.class})
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowUserManager.class,
ShadowStorageManager.class,
ShadowSettings.ShadowSecure.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ToggleScreenMagnificationPreferenceFragmentTest {
private static final String PLACEHOLDER_PACKAGE_NAME = "com.mock.example";
@@ -125,6 +130,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onResume_defaultStateForFollowingTyping_switchPreferenceShouldReturnTrue() {
setKeyFollowTypingEnabled(true);
@@ -138,6 +144,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onResume_disableFollowingTyping_switchPreferenceShouldReturnFalse() {
setKeyFollowTypingEnabled(false);
@@ -151,6 +158,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onResume_haveRegisterToSpecificUris() {
ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
mContext.getContentResolver());
@@ -179,6 +187,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void hasValueInSettings_putValue_hasValue() {
setMagnificationTripleTapEnabled(/* enabled= */ true);
@@ -187,6 +196,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_optInValue_haveMatchString() {
int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP;
@@ -200,6 +210,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_existOtherValue_optInValue_haveMatchString() {
putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, PLACEHOLDER_COMPONENT_NAME.flattenToString());
@@ -211,6 +222,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_software_sizeValueIsNull_putLargeSizeValue() {
ShadowSettings.ShadowSecure.reset();
@@ -224,6 +236,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_software_sizeValueIsNotNull_sizeValueIsNotChanged() {
for (int size : new int[] {FloatingMenuSizePreferenceController.Size.LARGE,
FloatingMenuSizePreferenceController.Size.SMALL}) {
@@ -242,6 +255,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_hardware_sizeValueIsNotChanged() {
for (int size : new int[] {FloatingMenuSizePreferenceController.Size.UNKNOWN,
FloatingMenuSizePreferenceController.Size.LARGE,
@@ -260,6 +274,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optInAllValuesToSettings_tripletap_sizeValueIsNotChanged() {
for (int size : new int[] {FloatingMenuSizePreferenceController.Size.UNKNOWN,
FloatingMenuSizePreferenceController.Size.LARGE,
@@ -278,6 +293,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optOutAllValuesToSettings_optOutValue_emptyString() {
putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
@@ -294,6 +310,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void optOutValueFromSettings_existOtherValue_optOutValue_haveMatchString() {
putStringIntoSettings(SOFTWARE_SHORTCUT_KEY,
PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
@@ -311,6 +328,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void updateShortcutPreferenceData_assignDefaultValueToVariable() {
mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
@@ -323,6 +341,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void updateShortcutPreferenceData_hasValueInSettings_assignToVariable() {
putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
setMagnificationTripleTapEnabled(/* enabled= */ true);
@@ -336,6 +355,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
@@ -350,6 +370,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void setupMagnificationEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(R.id.main_content, /* bundle= */
@@ -365,6 +386,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void setupMagnificationEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(R.id.main_content, /* bundle= */
@@ -385,6 +407,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void restoreValueFromSavedInstanceState_assignToVariable() {
final Bundle fragmentState = createFragmentSavedInstanceState(
UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
@@ -406,6 +429,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onCreateView_magnificationAreaNotSupported_settingsPreferenceIsNull() {
setWindowMagnificationSupported(
/* magnificationAreaSupported= */ false,
@@ -417,6 +441,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onCreateView_windowMagnificationNotSupported_settingsPreferenceIsNull() {
setWindowMagnificationSupported(
/* magnificationAreaSupported= */ true,
@@ -428,6 +453,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onCreateView_setDialogDelegateAndAddTheControllerToLifeCycleObserver() {
Correspondence instanceOf = Correspondence.transforming(
observer -> (observer instanceof MagnificationModePreferenceController),
@@ -445,6 +471,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onCreateDialog_setDialogDelegate_invokeDialogDelegate() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
@@ -461,6 +488,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void getMetricsCategory_returnsCorrectCategory() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
@@ -471,6 +499,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void getHelpResource_returnsCorrectHelpResource() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
@@ -480,6 +509,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
@Ignore
public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
ToggleScreenMagnificationPreferenceFragment fragment =
mFragController.create(
@@ -494,7 +524,8 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
public void getSummary_magnificationEnabled_returnShortcutOn() {
@Ignore
public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
setMagnificationTripleTapEnabled(true);
assertThat(
@@ -504,7 +535,8 @@ public class ToggleScreenMagnificationPreferenceFragmentTest {
}
@Test
public void getSummary_magnificationDisabled_returnShortcutOff() {
@Ignore
public void getSummary_magnificationDisabled_returnShortcutOffWithSummary() {
setMagnificationTripleTapEnabled(false);
assertThat(

View File

@@ -51,9 +51,13 @@ import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link ToggleScreenReaderPreferenceFragmentForSetupWizard}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ToggleScreenReaderPreferenceFragmentForSetupWizardTest {
private static final String TEST_TITLE = "test_title";

View File

@@ -51,9 +51,13 @@ import org.mockito.Mock;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link ToggleSelectToSpeakPreferenceFragmentForSetupWizard}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest {
private static final String TEST_TITLE = "test_title";

View File

@@ -42,9 +42,13 @@ import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
/** Tests for {@link ViewAllBluetoothDevicesPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ViewAllBluetoothDevicesPreferenceControllerTest {
@Rule

View File

@@ -63,7 +63,12 @@ import org.robolectric.shadow.api.Shadow;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowAccountManager.class, ShadowUserManager.class})
@Config(shadows = {
ShadowAccountManager.class,
ShadowUserManager.class,
com.android.settings.testutils.shadow.ShadowDashboardFragment.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AccountDetailDashboardFragmentTest {
private static final String METADATA_CATEGORY = "com.android.settings.category";

View File

@@ -41,7 +41,10 @@ import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowContentResolver.class})
@Config(shadows = {
ShadowContentResolver.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AccountSyncSettingsTest {
private Context mContext;
private AccountSyncSettings mAccountSyncSettings;

View File

@@ -52,6 +52,9 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AccountTypePreferenceLoaderTest {
@Mock(answer = RETURNS_DEEP_STUBS)

View File

@@ -26,34 +26,31 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.RuntimeEnvironment.application;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.ArraySet;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settingslib.RestrictedSwitchPreference;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.shadows.ShadowDevicePolicyManager;
import org.robolectric.annotation.Config;
import java.util.Arrays;
import java.util.Collections;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowDevicePolicyManager.class,
})
public class CrossProfileCalendarPreferenceControllerTest {
private static final String PREF_KEY = "cross_profile_calendar";
@@ -76,7 +73,7 @@ public class CrossProfileCalendarPreferenceControllerTest {
mController = new CrossProfileCalendarPreferenceController(mContext, PREF_KEY);
mController.setManagedUser(mManagedUser);
mPreference = spy(new RestrictedSwitchPreference(mContext));
dpm = Shadows.shadowOf(application.getSystemService(DevicePolicyManager.class));
dpm = ShadowDevicePolicyManager.getShadow();
when(mManagedUser.getIdentifier()).thenReturn(MANAGED_USER_ID);
doReturn(mContext).when(mContext).createPackageContextAsUser(

View File

@@ -43,11 +43,13 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
import java.util.Collections;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class ManagedProfileQuietModeEnablerTest {
private static final int MANAGED_USER_ID = 10;
private Context mContext;

View File

@@ -75,7 +75,8 @@ import java.io.IOException;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowUserManager.class,
ShadowDevicePolicyManager.class
ShadowDevicePolicyManager.class,
ShadowFragment.class,
})
public class RemoveAccountPreferenceControllerTest {

View File

@@ -45,12 +45,14 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import java.util.Arrays;
import java.util.Collections;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class AppWithAdminGrantedPermissionsCounterTest {
private final String APP_1 = "app1";

View File

@@ -42,6 +42,7 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import java.util.Arrays;
@@ -49,6 +50,7 @@ import java.util.Collections;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class AppWithAdminGrantedPermissionsListerTest {
private final String APP_1 = "app1";

View File

@@ -50,6 +50,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers;
@@ -62,6 +63,7 @@ import java.util.Set;
* Tests for {@link ApplicationFeatureProviderImpl}.
*/
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class ApplicationFeatureProviderImplTest {
private final int MAIN_USER_ID = 0;

View File

@@ -45,6 +45,7 @@ import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import java.util.ArrayList;
@@ -53,6 +54,7 @@ import java.util.Collections;
import java.util.Set;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class InstalledAppCounterTest {
private final String APP_1 = "app1";

View File

@@ -43,6 +43,7 @@ import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import java.util.Arrays;
@@ -52,6 +53,7 @@ import java.util.List;
import java.util.Set;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class InstalledAppListerTest {
private final String APP_1 = "app1";

View File

@@ -49,9 +49,14 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowUtils.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
ShadowUtils.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class OpenSupportedLinksTest {
private static final String TEST_FOOTER_TITLE = "FooterTitle";
private static final String TEST_DOMAIN_LINK = "aaa.bbb.ccc";

View File

@@ -56,6 +56,9 @@ import java.util.ArrayList;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppBatteryPreferenceControllerTest {
private static final int TARGET_UID = 111;

View File

@@ -51,7 +51,10 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowSettingsLibUtils.class)
@Config(shadows = {
ShadowSettingsLibUtils.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppHeaderViewPreferenceControllerTest {
@Mock

View File

@@ -76,6 +76,9 @@ import java.util.List;
import java.util.Set;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public final class AppInfoDashboardFragmentTest {
private static final String PACKAGE_NAME = "test_package_name";

View File

@@ -46,8 +46,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppInfoPreferenceControllerBaseTest {
@Mock

View File

@@ -49,7 +49,10 @@ import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class})
@Config(shadows = {
ShadowUserManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppMemoryPreferenceControllerTest {
@Mock

View File

@@ -35,8 +35,8 @@ import androidx.fragment.app.FragmentActivity;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.notification.app.AppNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.app.AppNotificationSettings;
import com.android.settingslib.applications.ApplicationsState;
import org.junit.Before;
@@ -46,9 +46,13 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppNotificationPreferenceControllerTest {
@Mock

View File

@@ -44,11 +44,15 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AppPermissionPreferenceControllerTest {
@Mock

View File

@@ -44,8 +44,10 @@ import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = ShadowAlertDialogCompat.class)
public class InstantAppButtonDialogFragmentTest {

View File

@@ -61,9 +61,13 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class InstantAppButtonsPreferenceControllerTest {
private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer";

View File

@@ -42,11 +42,15 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class DefaultAppPickerFragmentTest {
@Mock

View File

@@ -58,7 +58,10 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.Arrays;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowSecureSettings.class)
@Config(shadows = {
ShadowSecureSettings.class,
ShadowFragment.class,
})
public class DefaultAutofillPickerTest {
private static final String MAIN_APP_KEY = "main.foo.bar/foo.bar.Baz";

View File

@@ -76,8 +76,12 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class, ShadowAppUtils.class,
ShadowInteractionJankMonitor.class})
@Config(shadows = {
ShadowUserManager.class,
ShadowAppUtils.class,
ShadowInteractionJankMonitor.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ManageApplicationsTest {
@Mock

View File

@@ -31,8 +31,12 @@ import com.android.settings.core.BasePreferenceController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowUserManager.class,
})
public class InteractAcrossProfilesControllerTest {
private static final int PERSONAL_PROFILE_ID = 0;
private static final int WORK_PROFILE_ID = 10;

View File

@@ -23,22 +23,32 @@ import static org.robolectric.Shadows.shadowOf;
import android.content.Context;
import android.content.PermissionChecker;
import android.content.pm.CrossProfileApps;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.os.UserManager;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.testutils.shadow.ShadowPermissionChecker;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.shadows.ShadowPermissionChecker;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowApplicationPackageManager.class,
ShadowCrossProfileApps.class,
ShadowUserManager.class,
ShadowPermissionChecker.class,
})
public class InteractAcrossProfilesDetailsTest {
private static final int PERSONAL_PROFILE_ID = 0;
@@ -48,23 +58,34 @@ public class InteractAcrossProfilesDetailsTest {
"android.permission.INTERACT_ACROSS_PROFILES";
private final Context mContext = ApplicationProvider.getApplicationContext();
private final PackageManager mPackageManager = mContext.getPackageManager();
private final UserManager mUserManager = mContext.getSystemService(UserManager.class);
private final CrossProfileApps mCrossProfileApps = mContext.getSystemService(
CrossProfileApps.class);
private ShadowUserManager mShadowUserManager;
private ShadowCrossProfileApps mShadowCrossProfileApps;
private ShadowApplicationPackageManager mShadowPackageManager;
@Before
public void setUp() {
mShadowUserManager = (ShadowUserManager) shadowOf(
mContext.getSystemService(UserManager.class)
);
mShadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
mContext.getSystemService(CrossProfileApps.class)
);
mShadowPackageManager =
(ShadowApplicationPackageManager) shadowOf(mContext.getPackageManager());
}
@Test
public void getPreferenceSummary_appOpAllowed_returnsAllowed() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mUserManager).addProfile(
mShadowUserManager.addProfile(
PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
"work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
WORK_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
shadowOf(mCrossProfileApps).addCrossProfilePackage(
mShadowCrossProfileApps.addCrossProfilePackage(
CROSS_PROFILE_PACKAGE_NAME);
ShadowPermissionChecker.setResult(
CROSS_PROFILE_PACKAGE_NAME,
@@ -78,16 +99,16 @@ public class InteractAcrossProfilesDetailsTest {
@Test
public void getPreferenceSummary_appOpNotAllowed_returnsNotAllowed() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mUserManager).addProfile(
mShadowUserManager.addProfile(
PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
"work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
WORK_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
shadowOf(mCrossProfileApps).addCrossProfilePackage(
mShadowCrossProfileApps.addCrossProfilePackage(
CROSS_PROFILE_PACKAGE_NAME);
ShadowPermissionChecker.setResult(
CROSS_PROFILE_PACKAGE_NAME,
@@ -101,9 +122,9 @@ public class InteractAcrossProfilesDetailsTest {
@Test
public void getPreferenceSummary_noWorkProfile_returnsNotAllowed() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
assertThat(InteractAcrossProfilesDetails.getPreferenceSummary(

View File

@@ -21,20 +21,28 @@ import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.Shadows.shadowOf;
import android.content.Context;
import android.content.pm.CrossProfileApps;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowApplicationPackageManager.class,
ShadowCrossProfileApps.class,
})
public class InteractAcrossProfilesPreferenceControllerTest {
private static final String CROSS_PROFILE_PACKAGE_NAME = "crossProfilePackage";
@@ -44,16 +52,27 @@ public class InteractAcrossProfilesPreferenceControllerTest {
private static final int PROFILE_ID = 0;
private final Context mContext = ApplicationProvider.getApplicationContext();
private final PackageManager mPackageManager = mContext.getPackageManager();
private ShadowApplicationPackageManager mShadowPackageManager;
private final InteractAcrossProfilesDetailsPreferenceController mController =
new InteractAcrossProfilesDetailsPreferenceController(mContext, "test_key");
@Before
public void setUp() {
mShadowPackageManager = (ShadowApplicationPackageManager) shadowOf(
mContext.getPackageManager()
);
}
@Test
public void getAvailabilityStatus_requestedCrossProfilePermission_returnsAvailable() {
mController.setPackageName(CROSS_PROFILE_PACKAGE_NAME);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
PackageInfo packageInfo = shadowOf(mPackageManager).getInternalMutablePackageInfo(
ShadowCrossProfileApps shadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
mContext.getSystemService(CrossProfileApps.class)
);
shadowCrossProfileApps.addCrossProfilePackage(CROSS_PROFILE_PACKAGE_NAME);
PackageInfo packageInfo = mShadowPackageManager.getInternalMutablePackageInfo(
CROSS_PROFILE_PACKAGE_NAME);
packageInfo.requestedPermissions = new String[]{
INTERACT_ACROSS_PROFILES_PERMISSION};
@@ -65,8 +84,12 @@ public class InteractAcrossProfilesPreferenceControllerTest {
@Test
public void getAvailabilityStatus_notRequestedCrossProfilePermission_returnsDisabled() {
mController.setPackageName(NOT_CROSS_PROFILE_PACKAGE_NAME);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PROFILE_ID, ImmutableList.of(NOT_CROSS_PROFILE_PACKAGE_NAME));
ShadowCrossProfileApps shadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
mContext.getSystemService(CrossProfileApps.class)
);
shadowCrossProfileApps.addCrossProfilePackage(NOT_CROSS_PROFILE_PACKAGE_NAME);
assertThat(mController.getAvailabilityStatus())
.isEqualTo(BasePreferenceController.DISABLED_FOR_USER);

View File

@@ -34,17 +34,28 @@ import android.util.Pair;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.testutils.shadow.ShadowPermissionChecker;
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.shadows.ShadowPermissionChecker;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowProcess;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowUserManager.class,
ShadowApplicationPackageManager.class,
ShadowCrossProfileApps.class,
})
public class InteractAcrossProfilesSettingsTest {
private static final int PERSONAL_PROFILE_ID = 0;
@@ -70,16 +81,33 @@ public class InteractAcrossProfilesSettingsTest {
private final CrossProfileApps mCrossProfileApps =
mContext.getSystemService(CrossProfileApps.class);
private ShadowApplicationPackageManager mShadowPackageManager;
private ShadowUserManager mShadowUserManager;
private ShadowCrossProfileApps mShadowCrossProfileApps;
@Before
public void setUp() {
mShadowUserManager = (ShadowUserManager) shadowOf(
mContext.getSystemService(UserManager.class)
);
mShadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
mContext.getSystemService(CrossProfileApps.class)
);
mShadowPackageManager = (ShadowApplicationPackageManager) shadowOf(
mContext.getPackageManager()
);
}
@Test
public void collectConfigurableApps_fromPersonal_returnsCombinedPackages() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mUserManager).addProfile(
mShadowUserManager.addProfile(
PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
"work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
@@ -97,15 +125,15 @@ public class InteractAcrossProfilesSettingsTest {
@Test
public void collectConfigurableApps_fromWork_returnsCombinedPackages() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mUserManager).addProfile(
mShadowUserManager.addProfile(
PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
"work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
ShadowProcess.setUid(WORK_UID);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
@@ -123,9 +151,9 @@ public class InteractAcrossProfilesSettingsTest {
@Test
public void collectConfigurableApps_onlyOneProfile_returnsEmpty() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
@@ -138,18 +166,18 @@ public class InteractAcrossProfilesSettingsTest {
@Test
public void getNumberOfEnabledApps_returnsNumberOfEnabledApps() {
shadowOf(mUserManager).addUser(
mShadowUserManager.addUser(
PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
shadowOf(mUserManager).addProfile(
mShadowUserManager.addProfile(
PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
"work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
shadowOf(mPackageManager).setInstalledPackagesForUserId(
mShadowPackageManager.setInstalledPackagesForUserId(
WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
mShadowCrossProfileApps.addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
ShadowPermissionChecker.setResult(
PERSONAL_CROSS_PROFILE_PACKAGE,
INTERACT_ACROSS_PROFILES_PERMISSION,
@@ -166,7 +194,7 @@ public class InteractAcrossProfilesSettingsTest {
}
private void installCrossProfilePackage(String packageName) {
PackageInfo personalPackageInfo = shadowOf(mPackageManager).getInternalMutablePackageInfo(
PackageInfo personalPackageInfo = mShadowPackageManager.getInternalMutablePackageInfo(
packageName);
personalPackageInfo.requestedPermissions = new String[]{
INTERACT_ACROSS_PROFILES_PERMISSION};

View File

@@ -34,6 +34,9 @@ import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivityManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowActivityManager.class,
})
public class EnabledVrListenersControllerTest {
private Context mContext;

View File

@@ -23,6 +23,8 @@ import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import com.android.settings.testutils.shadow.ShadowActivityManager;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -31,9 +33,11 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivityManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowActivityManager.class,
})
public class VrListenerScreenPreferenceControllerTest {
private Context mContext;

View File

@@ -27,6 +27,7 @@ import android.content.Context;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowActivityManager;
import com.android.settings.testutils.shadow.ShadowNotificationManager;
import org.junit.Before;
@@ -36,9 +37,11 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivityManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowActivityManager.class,
})
public class ZenAccessControllerTest {
private static final String TEST_PKG = "com.test.package";

View File

@@ -29,6 +29,7 @@ import android.provider.Settings;
import androidx.lifecycle.LifecycleOwner;
import com.android.settings.testutils.shadow.ShadowActivityManager;
import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.Before;
@@ -38,10 +39,15 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowActivityManager;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {
ShadowActivityManager.class,
})
public class ZenAccessSettingObserverMixinTest {
@Mock

View File

@@ -78,6 +78,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.LooperMode;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
@@ -85,6 +86,7 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class FingerprintEnrollEnrollingTest {
private static final String ENROLL_PROGRESS_COLOR_LIGHT = "#699FF3";
private static final String ENROLL_PROGRESS_COLOR_DARK = "#7DA7F1";
@@ -610,9 +612,10 @@ public class FingerprintEnrollEnrollingTest {
mContext = spy(RuntimeEnvironment.application);
mActivity = spy(FingerprintEnrollEnrolling.class);
when(mContext.getDisplay()).thenReturn(mMockDisplay);
doReturn(mMockDisplay).when(mContext).getDisplay();
when(mMockDisplay.getRotation()).thenReturn(Surface.ROTATION_0);
doReturn(mMockDisplay).when(mActivity).getDisplay();
doReturn(true).when(mActivity).shouldShowLottie();
doReturn(mFingerprintManager).when(mActivity).getSystemService(FingerprintManager.class);
doReturn(mVibrator).when(mActivity).getSystemService(Vibrator.class);
@@ -642,6 +645,7 @@ public class FingerprintEnrollEnrollingTest {
}
private void createActivity() {
System.setProperty("robolectric.createActivityContexts", "true");
final Bundle savedInstanceState = new Bundle();
savedInstanceState.putInt(KEY_STATE_PREVIOUS_ROTATION, Surface.ROTATION_90);

View File

@@ -45,8 +45,10 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class})
public class SetupFingerprintEnrollFindSensorTest {

View File

@@ -38,8 +38,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public abstract class BluetoothDetailsControllerTestBase {
protected Context mContext;

View File

@@ -62,10 +62,12 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.fakes.RoboMenu;
import org.robolectric.shadows.ShadowUserManager;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowUserManager.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowUserManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BluetoothDeviceDetailsFragmentTest {
private static final String TEST_ADDRESS = "55:66:77:88:99:AA";

View File

@@ -54,7 +54,10 @@ import org.robolectric.shadow.api.Shadow;
/** Tests for {@link BluetoothDevicePairingDetailBase}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowBluetoothAdapter.class})
@Config(shadows = {
ShadowBluetoothAdapter.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BluetoothDevicePairingDetailBaseTest {
@Rule

View File

@@ -47,7 +47,10 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowBluetoothAdapter.class})
@Config(shadows = {
ShadowBluetoothAdapter.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BluetoothDeviceRenamePreferenceControllerTest {
private static final String DEVICE_NAME = "Nightshade";

View File

@@ -50,8 +50,12 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BluetoothFindBroadcastsFragmentTest {
private static final String TEST_ADDRESS = "55:66:77:88:99:AA";

View File

@@ -56,7 +56,10 @@ import org.robolectric.annotation.Config
import org.mockito.Mockito.`when` as whenever
@RunWith(RobolectricTestRunner::class)
@Config(shadows = [ShadowBluetoothAdapter::class])
@Config(shadows = [
ShadowBluetoothAdapter::class,
com.android.settings.testutils.shadow.ShadowFragment::class,
])
class DeviceListPreferenceFragmentTest {
@get:Rule
val mockito: MockitoRule = MockitoJUnit.rule()

View File

@@ -50,12 +50,16 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.util.ReflectionHelpers;
import java.util.Collections;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BugReportHandlerPickerTest {
private static final String PACKAGE_NAME = "com.example.test";
private static final int USER_ID = 0;

View File

@@ -26,6 +26,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothProfile;
@@ -69,8 +70,12 @@ import org.robolectric.annotation.Config;
/** Tests for {@link AvailableMediaDeviceGroupController}. */
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowAudioManager.class, ShadowBluetoothAdapter.class,
ShadowBluetoothUtils.class})
@Config(shadows = {
ShadowAudioManager.class,
ShadowBluetoothAdapter.class,
ShadowBluetoothUtils.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AvailableMediaDeviceGroupControllerTest {
private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
@@ -257,7 +262,7 @@ public class AvailableMediaDeviceGroupControllerTest {
mAvailableMediaDeviceGroupController.onActiveDeviceChanged(mCachedBluetoothDevice,
BluetoothProfile.HEARING_AID);
shadowMainLooper().idle();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog.isShowing()).isTrue();
}

View File

@@ -49,8 +49,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class UsbDetailsDataRoleControllerTest {
private UsbDetailsDataRoleController mDetailsDataRoleController;

View File

@@ -58,6 +58,9 @@ import java.util.Iterator;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class UsbDetailsFunctionsControllerTest {
private UsbDetailsFunctionsController mDetailsFunctionsController;

View File

@@ -52,7 +52,10 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowEntityHeaderController.class)
@Config(shadows = {
ShadowEntityHeaderController.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class UsbDetailsHeaderControllerTest {
private UsbDetailsHeaderController mDetailsHeaderController;

View File

@@ -52,8 +52,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class UsbDetailsPowerRoleControllerTest {
private UsbDetailsPowerRoleController mDetailsPowerRoleController;

View File

@@ -45,6 +45,9 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class UsbDetailsTranscodeMtpControllerTest {
private static final String TRANSCODE_MTP_SYS_PROP_KEY = "sys.fuse.transcode_mtp";

View File

@@ -38,9 +38,13 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class InstrumentedPreferenceFragmentTest {
@Mock

View File

@@ -45,8 +45,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class SubSettingLauncherTest {
@Mock

View File

@@ -50,7 +50,10 @@ import java.util.HashSet;
import java.util.Set;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class})
@Config(shadows = {
ShadowUserManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ProfileSelectFragmentTest {
private Context mContext;

View File

@@ -59,6 +59,9 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class BillingCycleSettingsTest {
private static final int LIMIT_BYTES = 123;

View File

@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -43,11 +44,15 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.Calendar;
import java.util.GregorianCalendar;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class DatePreferenceControllerTest {
@Mock
@@ -65,6 +70,7 @@ public class DatePreferenceControllerTest {
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
when(mContext.getSystemService(TimeDetector.class)).thenReturn(mTimeDetector);
when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
mPreference = new RestrictedPreference(RuntimeEnvironment.application);

View File

@@ -55,8 +55,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class LocationTimeZoneDetectionPreferenceControllerTest {
@Mock
private TimeManager mTimeManager;

View File

@@ -36,8 +36,10 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class TimeChangeListenerMixinTest {
@Mock

View File

@@ -45,8 +45,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class DesktopModePreferenceControllerTest {
private static final String ENG_BUILD_TYPE = "eng";

View File

@@ -35,6 +35,7 @@ import androidx.fragment.app.FragmentActivity;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.development.AbstractEnableAdbPreferenceController;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
@@ -51,14 +52,17 @@ import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowUserManager;
import org.robolectric.shadows.androidx.fragment.FragmentController;
import org.robolectric.util.ReflectionHelpers;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowUserManager.class, ShadowAlertDialogCompat.class})
@Config(shadows = {
ShadowAlertDialogCompat.class,
ShadowUserManager.class,
ShadowUserManager.class,
})
public class DevelopmentSettingsDashboardFragmentTest {
private Switch mSwitch;

View File

@@ -36,10 +36,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
import java.lang.reflect.Field;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public final class EnableVerboseVendorLoggingPreferenceControllerTest {
@Mock
private SwitchPreference mPreference;

View File

@@ -44,8 +44,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class FreeformWindowsPreferenceControllerTest {
private static final String ENG_BUILD_TYPE = "eng";

View File

@@ -49,8 +49,12 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class OemUnlockPreferenceControllerTest {
private static final String OEM_UNLOCK_SUPPORTED_KEY = "ro.oem_unlock_supported";

View File

@@ -31,6 +31,9 @@ import android.content.om.OverlayInfo;
import android.content.pm.PackageManager;
import android.os.RemoteException;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import org.junit.Before;
@@ -40,16 +43,15 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowToast;
import java.util.ArrayList;
import java.util.Arrays;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceScreen;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class OverlayCategoryPreferenceControllerTest {
private static final OverlayInfo ONE_DISABLED = createFakeOverlay("overlay.one", false, 1);

View File

@@ -47,9 +47,13 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowSystemProperties;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class GraphicsDriverEnableAngleAsSystemDriverControllerTest {
private static final String TAG = "GraphicsDriverEnableAngleAsSystemDriverControllerTest";
@Mock private PreferenceScreen mScreen;

View File

@@ -27,6 +27,7 @@ import android.content.pm.PackageManager;
import android.os.UserManager;
import android.service.quicksettings.Tile;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import org.junit.Before;
@@ -37,10 +38,13 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.shadows.ShadowUserManager;
import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowUserManager.class,
})
public class DevelopmentTilesTest {
@Mock
@@ -54,7 +58,7 @@ public class DevelopmentTilesTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
mService = spy(Robolectric.setupService(DevelopmentTiles.ShowLayout.class));
final ShadowUserManager um = Shadows.shadowOf(
final ShadowUserManager um = Shadow.extract(
RuntimeEnvironment.application.getSystemService(UserManager.class));
um.setIsAdminUser(true);
doReturn(mTile).when(mService).getQsTile();

View File

@@ -31,9 +31,11 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.androidx.fragment.FragmentController;
@RunWith(RobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = ShadowStorageManager.class)
public class PrivateVolumeUnmountTest {

View File

@@ -184,7 +184,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
assertThat(controller.getSummary()).isEqualTo("May 01, 2019");
assertThat(controller.getSummary()).isEqualTo("May 1, 2019");
}
@Test

View File

@@ -54,8 +54,12 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ImeiInfoPreferenceControllerTest {
@Mock

View File

@@ -67,6 +67,9 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class StorageItemPreferenceControllerTest {
private Context mContext;

View File

@@ -50,6 +50,9 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowSystemSettings.class,
})
public class AutoRotatePreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -21,6 +21,7 @@ import static android.content.Context.POWER_SERVICE;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -85,7 +86,7 @@ public class BrightnessLevelPreferenceControllerTest {
ShadowApplication.getInstance().setSystemService(POWER_SERVICE,
mPowerManager);
when(mScreen.findPreference(anyString())).thenReturn(mPreference);
when(mContext.getDisplay()).thenReturn(mDisplay);
doReturn(mDisplay).when(mContext).getDisplay();
mController = spy(new BrightnessLevelPreferenceController(mContext, null));
}

View File

@@ -57,10 +57,14 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class ScreenTimeoutSettingsTest {
private static final String[] TIMEOUT_ENTRIES = new String[]{"15 secs", "30 secs"};
private static final String[] TIMEOUT_VALUES = new String[]{"15000", "30000"};

View File

@@ -42,6 +42,7 @@ import com.android.settings.testutils.ResolveInfoBuilder;
import com.android.settings.testutils.shadow.ShadowDeviceStateRotationLockSettingsManager;
import com.android.settings.testutils.shadow.ShadowRotationPolicy;
import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
import com.android.settings.testutils.shadow.ShadowSystemSettings;
import com.android.settingslib.devicestate.DeviceStateRotationLockSettingsManager;
import org.junit.Before;
@@ -56,7 +57,7 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowSensorPrivacyManager.class)
@Config(shadows = {ShadowSensorPrivacyManager.class, ShadowSystemSettings.class})
public class SmartAutoRotateControllerTest {
private static final String PACKAGE_NAME = "package_name";

View File

@@ -63,6 +63,7 @@ import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
ShadowDeviceStateRotationLockSettingsManager.class,
ShadowRotationPolicy.class
})

Some files were not shown because too many files have changed in this diff Show More