Merge "Setup external/robolectric for SettingsRoboTests" into main

This commit is contained in:
Kevin Liu
2023-08-18 21:56:24 +00:00
committed by Android (Google) Code Review
180 changed files with 1339 additions and 157 deletions

View File

@@ -30,6 +30,7 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
import android.app.AppOpsManager;
import android.app.backup.BackupManager;
@@ -78,10 +79,12 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {ShadowEntityHeaderController.class, ShadowActivityManager.class})
@Config(shadows = {
ShadowEntityHeaderController.class,
ShadowActivityManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class AdvancedPowerUsageDetailTest {
private static final String APP_LABEL = "app label";
private static final String SUMMARY = "summary";
@@ -768,7 +771,7 @@ public class AdvancedPowerUsageDetailTest {
mFragment.onRadioButtonClicked(mOptimizePreference);
mFragment.onPause();
TimeUnit.SECONDS.sleep(100);
shadowMainLooper().idle();
verify(mMetricsFeatureProvider)
.action(
SettingsEnums.OPEN_APP_BATTERY_USAGE,
@@ -792,7 +795,7 @@ public class AdvancedPowerUsageDetailTest {
mFragment.onRadioButtonClicked(mOptimizePreference);
mFragment.onPause();
TimeUnit.SECONDS.sleep(100);
shadowMainLooper().idle();
verifyNoInteractions(mMetricsFeatureProvider);
}

View File

@@ -31,8 +31,12 @@ import org.junit.runner.RunWith;
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 BatterySaverSettingsTest {
BatterySaverSettings mFragment;
@Mock

View File

@@ -53,6 +53,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.LooperMode;
import java.util.ArrayList;
import java.util.Collections;
@@ -113,6 +114,7 @@ public final class DataProcessManagerTest {
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void constructor_noLevelData() {
final DataProcessManager dataProcessManager =
new DataProcessManager(mContext, /*handler=*/ null, /*callbackFunction=*/ null);
@@ -120,6 +122,7 @@ public final class DataProcessManagerTest {
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void start_loadEmptyDatabaseAppUsageData() {
final MatrixCursor cursor = new MatrixCursor(
new String[]{
@@ -140,6 +143,7 @@ public final class DataProcessManagerTest {
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void start_loadExpectedAppUsageData() throws RemoteException {
final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
new ArrayList<>();
@@ -258,6 +262,7 @@ public final class DataProcessManagerTest {
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void start_currentUserLocked_emptyAppUsageList() throws RemoteException {
final UsageEvents.Event event =
getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /*timestamp=*/ 1, "package");
@@ -284,6 +289,7 @@ public final class DataProcessManagerTest {
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void getBatteryLevelData_emptyHistoryMap_returnNull() {
assertThat(DataProcessManager.getBatteryLevelData(
mContext,

View File

@@ -70,6 +70,9 @@ import java.util.List;
// TODO: Improve this test class so that it starts up the real activity and fragment.
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
com.android.settings.testutils.shadow.ShadowFragment.class,
})
public class PowerUsageSummaryTest {
private static Intent sAdditionalBatteryInfoIntent;