Use binary resource support in robolectric

The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
This commit is contained in:
James Lemieux
2018-12-07 12:56:49 -08:00
committed by Fan Zhang
parent 1f5fab1480
commit f1dade40d2
1005 changed files with 3187 additions and 5478 deletions

View File

@@ -25,20 +25,19 @@ import android.text.format.DateFormat;
import androidx.preference.SwitchPreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
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.ShadowApplication;
import java.util.List;
import java.util.Locale;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class AutoTimeFormatPreferenceControllerTest {
@Mock

View File

@@ -23,7 +23,6 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.provider.Settings;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedSwitchPreference;
import org.junit.Before;
@@ -31,9 +30,10 @@ 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;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class AutoTimePreferenceControllerTest {
@Mock

View File

@@ -27,7 +27,6 @@ import android.provider.Settings;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import org.junit.Before;
@@ -35,10 +34,11 @@ 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.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
@Config(shadows = ShadowConnectivityManager.class)
public class AutoTimeZonePreferenceControllerTest {

View File

@@ -24,7 +24,6 @@ import static org.mockito.Mockito.when;
import android.app.AlarmManager;
import android.content.Context;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedPreference;
import org.junit.Before;
@@ -32,9 +31,10 @@ 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;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class DatePreferenceControllerTest {
@Mock

View File

@@ -25,7 +25,6 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.content.Intent;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -35,9 +34,10 @@ 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;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeChangeListenerMixinTest {
@Mock

View File

@@ -18,8 +18,6 @@ package com.android.settings.datetime;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
@@ -27,23 +25,20 @@ import android.provider.Settings;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
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.ShadowApplication;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeFormatPreferenceControllerTest {
@Mock(answer = RETURNS_DEEP_STUBS)
private PreferenceScreen mScreen;
@Mock
private UpdateTimeAndDateCallback mCallback;

View File

@@ -23,7 +23,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedPreference;
import org.junit.Before;
@@ -31,9 +30,10 @@ 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;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimePreferenceControllerTest {
@Mock

View File

@@ -24,7 +24,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.RestrictedPreference;
import org.junit.Before;
@@ -32,9 +31,10 @@ 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;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeZonePreferenceControllerTest {
@Mock

View File

@@ -20,8 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
import androidx.recyclerview.widget.RecyclerView.AdapterDataObserver;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -30,8 +28,9 @@ import java.util.List;
import java.util.Locale;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class BaseTimeZoneAdapterTest {
@Test
@@ -48,7 +47,7 @@ public class BaseTimeZoneAdapterTest {
items.add(secretCountry);
TestTimeZoneAdapter adapter = new TestTimeZoneAdapter(items);
assertSearch(adapter, "", items.toArray(new TestItem[items.size()]));
assertSearch(adapter, "", items.toArray(new TestItem[0]));
assertSearch(adapter, "Unit", US, UK);
assertSearch(adapter, "kon", HK);
assertSearch(adapter, "brit", UK);
@@ -71,7 +70,7 @@ public class BaseTimeZoneAdapterTest {
private final CountDownLatch mLatch = new CountDownLatch(1);
private final TestTimeZoneAdapter mAdapter;
public Observer(TestTimeZoneAdapter adapter) {
private Observer(TestTimeZoneAdapter adapter) {
mAdapter = adapter;
mAdapter.registerAdapterDataObserver(this);
}
@@ -82,14 +81,14 @@ public class BaseTimeZoneAdapterTest {
mLatch.countDown();
}
public void await() throws InterruptedException {
private void await() throws InterruptedException {
mLatch.await(2L, TimeUnit.SECONDS);
}
}
private static class TestTimeZoneAdapter extends BaseTimeZoneAdapter<TestItem> {
public TestTimeZoneAdapter(List<TestItem> items) {
private TestTimeZoneAdapter(List<TestItem> items) {
super(items, position -> {}, Locale.US, false /* showItemSummary */,
null /* headerText */);
}

View File

@@ -22,12 +22,12 @@ import android.content.Context;
import android.icu.util.TimeZone;
import com.android.settings.datetime.timezone.model.TimeZoneData;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.google.common.truth.Truth;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
@@ -37,16 +37,16 @@ import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
@Config(shadows = { BaseTimeZoneInfoPickerTest.ShadowDataFormat.class })
public class BaseTimeZoneInfoPickerTest {
@Implements(android.text.format.DateFormat.class)
public static class ShadowDataFormat {
public static String sTimeFormatString = "";
private static String sTimeFormatString = "";
@Implementation
public static String getTimeFormatString(Context context) {
protected static String getTimeFormatString(Context context) {
return sTimeFormatString;
}
}
@@ -76,7 +76,7 @@ public class BaseTimeZoneInfoPickerTest {
public static class TestBaseTimeZoneInfoPicker extends BaseTimeZoneInfoPicker {
public TestBaseTimeZoneInfoPicker() {
private TestBaseTimeZoneInfoPicker() {
super(0, 0, false, false);
}

View File

@@ -23,14 +23,13 @@ import android.content.Context;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class BaseTimeZonePreferenceControllerTest {
private Activity mActivity;
@@ -68,7 +67,7 @@ public class BaseTimeZonePreferenceControllerTest {
private final Preference mTestPreference;
public TestPreferenceController(Context context, String preferenceKey) {
private TestPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
mTestPreference = new Preference(context);
mTestPreference.setKey(preferenceKey);
@@ -76,7 +75,7 @@ public class BaseTimeZonePreferenceControllerTest {
}
private static class TestPreference extends Preference {
public TestPreference(Context context, String preferenceKey) {
private TestPreference(Context context, String preferenceKey) {
super(context);
setKey(preferenceKey);
}
@@ -91,9 +90,8 @@ public class BaseTimeZonePreferenceControllerTest {
isClicked = true;
}
public boolean isClicked() {
private boolean isClicked() {
return isClicked;
}
}
}

View File

@@ -25,13 +25,13 @@ import android.content.Context;
import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.AdapterItem;
import com.android.settings.datetime.timezone.model.TimeZoneData;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import libcore.timezone.CountryZonesFinder;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import java.util.Collections;
@@ -39,14 +39,14 @@ import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class FixedOffsetPickerTest {
private CountryZonesFinder mFinder;
@Before
public void setUp() {
List regionList = Collections.emptyList();
List<String> regionList = Collections.emptyList();
mFinder = mock(CountryZonesFinder.class);
when(mFinder.lookupAllCountryIsoCodes()).thenReturn(regionList);
}

View File

@@ -23,14 +23,13 @@ import android.icu.util.TimeZone;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class FixedOffsetPreferenceControllerTest {
private Activity mActivity;

View File

@@ -22,14 +22,13 @@ import android.app.Activity;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class RegionPreferenceControllerTest {
private Activity mActivity;
@@ -47,6 +46,5 @@ public class RegionPreferenceControllerTest {
controller.updateState(preference);
assertThat(controller.getSummary()).isEqualTo("United States");
assertThat(preference.getSummary()).isEqualTo("United States");
}
}

View File

@@ -32,13 +32,13 @@ import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.AdapterItem;
import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.ItemViewHolder;
import com.android.settings.datetime.timezone.RegionSearchPicker.RegionItem;
import com.android.settings.datetime.timezone.model.TimeZoneData;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import libcore.timezone.CountryZonesFinder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
@@ -49,7 +49,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
RegionSearchPickerTest.ShadowBaseTimeZonePicker.class,
RegionSearchPickerTest.ShadowFragment.class,
@@ -59,7 +59,7 @@ public class RegionSearchPickerTest {
@Test
public void createAdapter_matchRegionName() {
List regionList = new ArrayList();
List<String> regionList = new ArrayList<>();
regionList.add("US");
CountryZonesFinder finder = mock(CountryZonesFinder.class);
when(finder.lookupAllCountryIsoCodes()).thenReturn(regionList);
@@ -78,7 +78,7 @@ public class RegionSearchPickerTest {
// http://b/75322108
@Test
public void clickItemView_duringRegionSearch_shouldNotCrash() {
List regionList = new ArrayList();
List<String> regionList = new ArrayList<>();
regionList.add("US");
CountryZonesFinder finder = mock(CountryZonesFinder.class);
when(finder.lookupAllCountryIsoCodes()).thenReturn(regionList);

View File

@@ -22,7 +22,6 @@ import android.icu.text.Collator;
import com.android.settings.datetime.timezone.RegionZonePicker.TimeZoneInfoComparator;
import com.android.settings.datetime.timezone.TimeZoneInfo.Formatter;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -32,8 +31,9 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class RegionZonePickerTest {
@Test
@@ -53,5 +53,4 @@ public class RegionZonePickerTest {
Collections.sort(list, comparator);
assertThat(list).isEqualTo(Arrays.asList(timeZone1, timeZone2, timeZone3, timeZone4));
}
}

View File

@@ -23,14 +23,13 @@ import android.icu.util.TimeZone;
import androidx.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class RegionZonePreferenceControllerTest {
private Activity mActivity;
@@ -59,6 +58,5 @@ public class RegionZonePreferenceControllerTest {
assertThat(controller.getSummary().toString()).isEqualTo(expectedSummary);
assertThat(preference.getSummary().toString()).isEqualTo(expectedSummary);
assertThat(preference.isEnabled()).isFalse();
}
}

View File

@@ -21,13 +21,13 @@ import static com.google.common.truth.Truth.assertThat;
import android.text.Spannable;
import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class SpannableUtilTest {
@Test

View File

@@ -22,16 +22,16 @@ import static org.mockito.Mockito.spy;
import androidx.preference.Preference;
import com.android.settings.datetime.timezone.TimeZoneInfo.Formatter;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import java.util.Date;
import java.util.Locale;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeZoneInfoPreferenceControllerTest {
@Test

View File

@@ -19,15 +19,15 @@ package com.android.settings.datetime.timezone;
import static com.google.common.truth.Truth.assertThat;
import com.android.settings.datetime.timezone.TimeZoneInfo.Formatter;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.Date;
import java.util.Locale;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeZoneInfoTest {
@Test

View File

@@ -22,24 +22,18 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import com.android.settings.datetime.timezone.model.TimeZoneData;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {
SettingsShadowResources.class,
SettingsShadowResources.SettingsShadowTheme.class,
})
@RunWith(RobolectricTestRunner.class)
public class TimeZoneSettingsTest {
@Test

View File

@@ -21,8 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import libcore.timezone.CountryTimeZones;
import libcore.timezone.CountryTimeZones.TimeZoneMapping;
import libcore.timezone.CountryZonesFinder;
@@ -34,8 +32,9 @@ import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import org.robolectric.RobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@RunWith(RobolectricTestRunner.class)
public class TimeZoneDataTest {
private CountryZonesFinder mCountryZonesFinder;