Use external/robolectric-shadows/run_robotests.mk

This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
This commit is contained in:
James Lemieux
2018-02-26 00:51:42 -08:00
parent 229a6a2bc4
commit 22a39c2b93
752 changed files with 5096 additions and 9182 deletions

View File

@@ -40,7 +40,6 @@ import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.conditional.Condition;
import com.android.settings.dashboard.suggestions.SuggestionAdapter;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -63,12 +62,7 @@ import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION,
shadows = {
SettingsShadowResources.class,
SettingsShadowResources.SettingsShadowTheme.class,
})
@Config(shadows = SettingsShadowResources.SettingsShadowTheme.class)
public class DashboardAdapterTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -93,8 +87,7 @@ public class DashboardAdapterTest {
when(mContext.getSystemService(Context.WINDOW_SERVICE)).thenReturn(mWindowManager);
when(mContext.getResources()).thenReturn(mResources);
when(mResources.getQuantityString(any(int.class), any(int.class), any()))
.thenReturn("");
when(mResources.getQuantityString(any(int.class), any(int.class), any())).thenReturn("");
mConditionList = new ArrayList<>();
mConditionList.add(mCondition);
@@ -108,8 +101,7 @@ public class DashboardAdapterTest {
public void testSuggestionDismissed_notOnlySuggestion_updateSuggestionOnly() {
final DashboardAdapter adapter =
spy(new DashboardAdapter(mContext, null /* savedInstanceState */,
null /* conditions */, null /* suggestionControllerMixin */, null /*
lifecycle */));
null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */));
final List<Suggestion> suggestions = makeSuggestionsV2("pkg1", "pkg2", "pkg3");
adapter.setSuggestions(suggestions);
@@ -142,8 +134,7 @@ public class DashboardAdapterTest {
public void testSuggestionDismissed_onlySuggestion_updateDashboardData() {
DashboardAdapter adapter =
spy(new DashboardAdapter(mContext, null /* savedInstanceState */,
null /* conditions */, null /* suggestionControllerMixin */, null /*
lifecycle */));
null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */));
final List<Suggestion> suggestions = makeSuggestionsV2("pkg1");
adapter.setSuggestions(suggestions);
final DashboardData dashboardData = adapter.mDashboardData;
@@ -230,9 +221,4 @@ public class DashboardAdapterTest {
}
return suggestions;
}
private void setupSuggestions(List<Suggestion> suggestions) {
final Context context = RuntimeEnvironment.application;
mDashboardAdapter.setSuggestions(suggestions);
}
}

View File

@@ -18,8 +18,8 @@ package com.android.settings.dashboard;
import static com.android.settings.dashboard.DashboardData.STABLE_ID_CONDITION_CONTAINER;
import static com.android.settings.dashboard.DashboardData.STABLE_ID_CONDITION_FOOTER;
import static com.android.settings.dashboard.DashboardData.STABLE_ID_SUGGESTION_CONTAINER;
import static com.android.settings.dashboard.DashboardData.STABLE_ID_SUGGESTION_CONDITION_DIVIDER;
import static com.android.settings.dashboard.DashboardData.STABLE_ID_SUGGESTION_CONTAINER;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -30,7 +30,6 @@ import android.support.annotation.NonNull;
import android.support.v7.util.DiffUtil;
import android.support.v7.util.ListUpdateCallback;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.conditional.AirplaneModeCondition;
import com.android.settings.dashboard.conditional.Condition;
import com.android.settingslib.drawer.DashboardCategory;
@@ -42,17 +41,15 @@ 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.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DashboardDataTest {
private static final String TEST_SUGGESTION_TITLE = "Use fingerprint";
private static final String TEST_CATEGORY_TILE_TITLE = "Display";
@@ -125,7 +122,7 @@ public class DashboardDataTest {
public void testBuildItemsData_shouldSetstableId() {
final List<DashboardData.Item> items = mDashboardDataWithOneConditions.getItemList();
// suggestion, seperator, condition, footer, 1 tile
// suggestion, separator, condition, footer, 1 tile
assertThat(items).hasSize(5);
assertThat(items.get(0).id).isEqualTo(STABLE_ID_SUGGESTION_CONTAINER);
@@ -151,8 +148,7 @@ public class DashboardDataTest {
if (item instanceof List) {
assertThat(item).isEqualTo(expectedObjects[i]);
} else if (item instanceof DashboardData.ConditionHeaderData) {
DashboardData.ConditionHeaderData i1 =
(DashboardData.ConditionHeaderData) item;
DashboardData.ConditionHeaderData i1 = (DashboardData.ConditionHeaderData) item;
DashboardData.ConditionHeaderData i2 =
(DashboardData.ConditionHeaderData) expectedObjects[i];
assertThat(i1.title).isEqualTo(i2.title);
@@ -179,8 +175,7 @@ public class DashboardDataTest {
@Test
public void testGetPositionByTile_selfInstance_returnPositionFound() {
final int position = mDashboardDataWithOneConditions
.getPositionByTile(mTestCategoryTile);
final int position = mDashboardDataWithOneConditions.getPositionByTile(mTestCategoryTile);
assertThat(position).isNotEqualTo(DashboardData.POSITION_NOT_FOUND);
}
@@ -209,7 +204,6 @@ public class DashboardDataTest {
@Test
public void testDiffUtil_InsertOneCondition_ResultDataOneChanged() {
//Build testResultData
final List<ListUpdateResult.ResultData> testResultData = new ArrayList<>();
// Item in position 3 is the condition container containing the list of conditions, which
// gets 1 more item
@@ -222,7 +216,6 @@ public class DashboardDataTest {
@Test
public void testDiffUtil_RemoveOneSuggestion_causeItemRemoveAndChange() {
//Build testResultData
final List<ListUpdateResult.ResultData> testResultData = new ArrayList<>();
// removed suggestion and the divider
testResultData.add(new ListUpdateResult.ResultData(
@@ -254,7 +247,6 @@ public class DashboardDataTest {
@Test
public void testDiffUtil_DeleteAllData_ResultDataOneDeleted() {
//Build testResultData
final List<ListUpdateResult.ResultData> testResultData = new ArrayList<>();
testResultData.add(new ListUpdateResult.ResultData(
ListUpdateResult.ResultData.TYPE_OPERATION_REMOVE, 0, 5));
@@ -264,18 +256,17 @@ public class DashboardDataTest {
@Test
public void testDiffUtil_typeSuggestedContainer_ResultDataNothingChanged() {
//Build testResultData
final List<ListUpdateResult.ResultData> testResultData = new ArrayList<>();
DashboardData prevData = new DashboardData.Builder()
.setConditions(null)
.setCategory(null)
.setSuggestions(Arrays.asList(mTestSuggestion))
.setSuggestions(Collections.singletonList(mTestSuggestion))
.build();
DashboardData currentData = new DashboardData.Builder()
.setConditions(null)
.setCategory(null)
.setSuggestions(Arrays.asList(mTestSuggestion))
.setSuggestions(Collections.singletonList(mTestSuggestion))
.build();
testDiffUtil(prevData, currentData, testResultData);
}
@@ -333,7 +324,7 @@ public class DashboardDataTest {
mResultData = new ArrayList<>();
}
public List<ResultData> getResultData() {
private List<ResultData> getResultData() {
return mResultData;
}
@@ -368,16 +359,17 @@ public class DashboardDataTest {
* or "The data is moved(operation) from position1(arg1) to position2(arg2)"
*/
private static class ResultData implements Comparable<ResultData> {
public static final int TYPE_OPERATION_INSERT = 0;
public static final int TYPE_OPERATION_REMOVE = 1;
public static final int TYPE_OPERATION_MOVE = 2;
public static final int TYPE_OPERATION_CHANGE = 3;
public final int operation;
public final int arg1;
public final int arg2;
private static final int TYPE_OPERATION_INSERT = 0;
private static final int TYPE_OPERATION_REMOVE = 1;
private static final int TYPE_OPERATION_MOVE = 2;
private static final int TYPE_OPERATION_CHANGE = 3;
public ResultData(int operation, int arg1, int arg2) {
private final int operation;
private final int arg1;
private final int arg2;
private ResultData(int operation, int arg1, int arg2) {
this.operation = operation;
this.arg1 = arg1;
this.arg2 = arg2;

View File

@@ -17,7 +17,6 @@
package com.android.settings.dashboard;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
@@ -26,7 +25,6 @@ import static org.mockito.Mockito.mock;
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 static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
@@ -45,7 +43,6 @@ import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowThreadUtils;
@@ -74,9 +71,7 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION,
shadows = ShadowUserManager.class)
@Config(shadows = ShadowUserManager.class)
public class DashboardFeatureProviderImplTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -97,8 +92,8 @@ public class DashboardFeatureProviderImplTest {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
doReturn(mPackageManager).when(mContext).getPackageManager();
when(mPackageManager.resolveActivity(any(Intent.class), anyInt())).thenReturn(
new ResolveInfo());
when(mPackageManager.resolveActivity(any(Intent.class), anyInt()))
.thenReturn(new ResolveInfo());
mFeatureFactory = FakeFeatureFactory.setupForTest();
mImpl = new DashboardFeatureProviderImpl(mContext);
}
@@ -110,8 +105,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_shouldBindAllData() {
final Preference preference = new Preference(
ShadowApplication.getInstance().getApplicationContext());
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.title = "title";
tile.summary = "summary";
@@ -132,8 +126,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_noFragmentMetadata_shouldBindIntent() {
final Preference preference = new Preference(
ShadowApplication.getInstance().getApplicationContext());
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.priority = 10;
@@ -150,7 +143,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>();
@@ -171,7 +164,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>();
@@ -196,19 +189,19 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>();
tile.userHandle.add(mock(UserHandle.class));
tile.intent = new Intent();
tile.intent.setComponent(
new ComponentName(application.getPackageName(), "class"));
new ComponentName(RuntimeEnvironment.application.getPackageName(), "class"));
when(mActivity.getSystemService(Context.USER_SERVICE))
.thenReturn(mUserManager);
when(mActivity.getApplicationContext().getPackageName())
.thenReturn(application.getPackageName());
.thenReturn(RuntimeEnvironment.application.getPackageName());
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
preference, tile, "123", Preference.DEFAULT_ORDER);
@@ -223,7 +216,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -236,7 +229,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -244,12 +237,12 @@ public class DashboardFeatureProviderImplTest {
preference, tile, null /*key */, Preference.DEFAULT_ORDER);
assertThat(preference.getSummary())
.isEqualTo(application.getString(R.string.summary_placeholder));
.isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder));
}
@Test
public void bindPreference_hasSummary_shouldSetSummary() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.summary = "test";
tile.intent = new Intent();
@@ -261,12 +254,9 @@ public class DashboardFeatureProviderImplTest {
}
@Test
@Config(shadows = {
ShadowTileUtils.class,
ShadowThreadUtils.class
})
@Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -282,7 +272,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.key = "key";
tile.intent = new Intent();
@@ -294,17 +284,14 @@ public class DashboardFeatureProviderImplTest {
}
@Test
@Config(shadows = {
ShadowTileUtils.class,
ShadowThreadUtils.class
})
@Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.key = "key";
tile.intent = new Intent();
tile.intent.setComponent(
new ComponentName(application.getPackageName(), "class"));
new ComponentName(RuntimeEnvironment.application.getPackageName(), "class"));
tile.metaData = new Bundle();
tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
"content://com.android.settings/tile_icon");
@@ -316,7 +303,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_withBaseOrder_shouldOffsetPriority() {
final int baseOrder = 100;
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.priority = 10;
@@ -328,7 +315,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final int testOrder = -30;
final Tile tile = new Tile();
tile.metaData = new Bundle();
@@ -342,7 +329,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_invalidOrderMetadata_shouldIgnore() {
final Preference preference = new Preference(application);
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.metaData = new Bundle();
tile.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello");
@@ -356,8 +343,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
Activity activity = Robolectric.buildActivity(Activity.class).get();
final ShadowApplication application = ShadowApplication.getInstance();
final Preference preference = new Preference(application.getApplicationContext());
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile();
tile.key = "key";
tile.intent = new Intent();
@@ -380,7 +366,7 @@ public class DashboardFeatureProviderImplTest {
@Test
public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() {
ReflectionHelpers.setField(
mImpl, "mPackageManager", application.getPackageManager());
mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager());
Activity activity = Robolectric.buildActivity(Activity.class).get();
final ShadowApplication application = ShadowApplication.getInstance();
final Preference preference = new Preference(application.getApplicationContext());

View File

@@ -33,7 +33,6 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.TestConfig;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -49,17 +48,14 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DashboardFragmentTest {
@Mock
private FakeFeatureFactory mFakeFeatureFactory;
private DashboardCategory mDashboardCategory;
@@ -73,11 +69,11 @@ public class DashboardFragmentTest {
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mDashboardCategory = new DashboardCategory();
mDashboardCategory.addTile(new Tile());
mTestFragment = new TestFragment(mContext);
mTestFragment = new TestFragment(RuntimeEnvironment.application);
when(mFakeFeatureFactory.dashboardFeatureProvider
.getTilesForCategory(nullable(String.class)))
.thenReturn(mDashboardCategory);
mTestFragment.onAttach(mContext);
mTestFragment.onAttach(RuntimeEnvironment.application);
when(mContext.getPackageName()).thenReturn("TestPackage");
}
@@ -154,8 +150,7 @@ public class DashboardFragmentTest {
preferenceControllers.add(mockController2);
when(mockController1.isAvailable()).thenReturn(false);
when(mockController2.isAvailable()).thenReturn(true);
mTestFragment.onAttach(mContext);
mTestFragment.onAttach(RuntimeEnvironment.application);
mTestFragment.onResume();
verify(mockController1).getPreferenceKey();
@@ -196,8 +191,7 @@ public class DashboardFragmentTest {
@Test
public void tintTileIcon_noIcon_shouldReturnFalse() {
final Tile tile = new Tile();
final Bundle metaData = new Bundle();
tile.metaData = metaData;
tile.metaData = new Bundle();
assertThat(mTestFragment.tintTileIcon(tile)).isFalse();
}
@@ -208,8 +202,8 @@ public class DashboardFragmentTest {
tile.icon = mock(Icon.class);
final Intent intent = new Intent();
tile.intent = intent;
intent.setComponent(new ComponentName(mContext.getPackageName(), "TestClass"));
intent.setComponent(
new ComponentName(RuntimeEnvironment.application.getPackageName(), "TestClass"));
assertThat(mTestFragment.tintTileIcon(tile)).isFalse();
intent.setComponent(new ComponentName("OtherPackage", "TestClass"));
@@ -219,7 +213,7 @@ public class DashboardFragmentTest {
public static class TestPreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin {
public TestPreferenceController(Context context) {
private TestPreferenceController(Context context) {
super(context);
}
@@ -240,7 +234,6 @@ public class DashboardFragmentTest {
@Override
public void updateNonIndexableKeys(List<String> keys) {
}
}
@@ -298,5 +291,4 @@ public class DashboardFragmentTest {
return mPreferenceManager;
}
}
}

View File

@@ -16,23 +16,21 @@
package com.android.settings.dashboard;
import android.content.Context;
import static com.google.common.truth.Truth.assertThat;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settingslib.drawer.Tile;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DashboardItemAnimatorTest {
private DashboardItemAnimator mDashboardItemAnimator;
@@ -40,23 +38,22 @@ public class DashboardItemAnimatorTest {
@Before
public void SetUp() {
final Context context = ShadowApplication.getInstance().getApplicationContext();
mDashboardItemAnimator = new DashboardItemAnimator();
mViewHolder = new ViewHolder(new TextView(context));
mViewHolder = new ViewHolder(new TextView(RuntimeEnvironment.application));
mViewHolder.itemView.setTag(new Tile());
}
@Test
public void testAnimateChange_NoPositionChange_NoPendingAnimation() {
final boolean hasPendingAnimation = mDashboardItemAnimator
.animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
final boolean hasPendingAnimation =
mDashboardItemAnimator.animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
assertThat(hasPendingAnimation).isFalse();
}
@Test
public void testAnimateChange_HasPositionChange_HasPendingAnimation() {
final boolean hasPendingAnimation = mDashboardItemAnimator
.animateChange(mViewHolder, mViewHolder, 0, 0, 1, 1);
final boolean hasPendingAnimation =
mDashboardItemAnimator.animateChange(mViewHolder, mViewHolder, 0, 0, 1, 1);
assertThat(hasPendingAnimation).isTrue();
}
@@ -65,8 +62,8 @@ public class DashboardItemAnimatorTest {
// Set pending move animations
mDashboardItemAnimator.animateMove(mViewHolder, 0, 0, 1, 1);
final boolean hasPendingAnimation = mDashboardItemAnimator
.animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
final boolean hasPendingAnimation =
mDashboardItemAnimator.animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
assertThat(hasPendingAnimation).isFalse();
}

View File

@@ -29,10 +29,8 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.service.settings.suggestions.Suggestion;
import android.support.v7.widget.LinearLayoutManager;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.conditional.ConditionManager;
import com.android.settings.dashboard.conditional.FocusRecyclerView;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -47,12 +45,9 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DashboardSummaryTest {
@Mock

View File

@@ -16,12 +16,16 @@
package com.android.settings.dashboard;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import org.junit.Before;
import org.junit.Test;
@@ -29,18 +33,10 @@ import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DashboardTilePlaceholderPreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
@Mock(answer = RETURNS_DEEP_STUBS)

View File

@@ -16,7 +16,6 @@
package com.android.settings.dashboard;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
@@ -24,17 +23,14 @@ import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class RoundedHomepageIconTest {
private Context mContext;
@@ -46,11 +42,11 @@ public class RoundedHomepageIconTest {
@Test
public void createIcon_shouldSetBackgroundAndInset() {
final RoundedHomepageIcon icon = new RoundedHomepageIcon(
mContext, new ColorDrawable(Color.BLACK));
final RoundedHomepageIcon icon =
new RoundedHomepageIcon(mContext, new ColorDrawable(Color.BLACK));
assertThat(icon.getNumberOfLayers()).isEqualTo(2);
assertThat(icon.getDrawable(0))
.isEqualTo(mContext.getDrawable(R.drawable.ic_homepage_generic_background));
.isEqualTo(mContext.getDrawable(R.drawable.ic_homepage_generic_background));
}
}

View File

@@ -23,7 +23,6 @@ import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Intent;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.drawer.CategoryKey;
@@ -35,10 +34,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SummaryLoaderTest {
private static final String SUMMARY_1 = "summary1";
@@ -85,7 +82,6 @@ public class SummaryLoaderTest {
@Test
public void testUpdateSummaryToCache_hasCache_shouldUpdate() {
final String testSummary = "test_summary";
final DashboardCategory category = new DashboardCategory();
final Tile tile = new Tile();

View File

@@ -15,16 +15,18 @@
*/
package com.android.settings.dashboard.conditional;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.Intent;
import android.util.FeatureFlagUtils;
import com.android.settings.Settings;
import com.android.settings.TestConfig;
import com.android.settings.core.FeatureFlags;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowSystemProperties;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
import org.junit.Test;
@@ -33,16 +35,8 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows =
SettingsShadowSystemProperties.class)
public class BackgroundDataConditionTest {
@Mock
private ConditionManager mConditionManager;
@@ -57,7 +51,7 @@ public class BackgroundDataConditionTest {
}
@Test
public void onPrimaryClick_v2enabled_shouldReturnv2SummaryActivity() {
public void onPrimaryClick_v2enabled_shouldReturn2SummaryActivity() {
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.DATA_USAGE_SETTINGS_V2, true);
final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);

View File

@@ -16,7 +16,6 @@
package com.android.settings.dashboard.conditional;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -27,7 +26,6 @@ import android.view.View;
import android.widget.LinearLayout;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.DashboardAdapter;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -37,14 +35,13 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class ConditionAdapterTest {
@Mock
private Condition mCondition1;
@Mock
@@ -92,27 +89,29 @@ public class ConditionAdapterTest {
@Test
public void onBindViewHolder_shouldSetListener() {
final View view = LayoutInflater.from(mContext).inflate(
R.layout.condition_tile, new LinearLayout(mContext), true);
final View view = LayoutInflater.from(mContext)
.inflate(R.layout.condition_tile, new LinearLayout(mContext), true);
final DashboardAdapter.DashboardItemHolder viewHolder =
new DashboardAdapter.DashboardItemHolder(view);
mConditionAdapter = new ConditionAdapter(mContext, mOneCondition, true);
mConditionAdapter.onBindViewHolder(viewHolder, 0);
final View card = view.findViewById(R.id.content);
assertThat(card).isNotNull();
assertThat(card.hasOnClickListeners()).isTrue();
}
@Test
public void viewClick_shouldInvokeConditionPrimaryClick() {
final View view = LayoutInflater.from(mContext).inflate(
R.layout.condition_tile, new LinearLayout(mContext), true);
final View view = LayoutInflater.from(mContext)
.inflate(R.layout.condition_tile, new LinearLayout(mContext), true);
final DashboardAdapter.DashboardItemHolder viewHolder =
new DashboardAdapter.DashboardItemHolder(view);
mConditionAdapter = new ConditionAdapter(mContext, mOneCondition, true);
mConditionAdapter.onBindViewHolder(viewHolder, 0);
final View card = view.findViewById(R.id.content);
assertThat(card).isNotNull();
card.performClick();
verify(mCondition1).onPrimaryClick();
}
@@ -131,5 +130,4 @@ public class ConditionAdapterTest {
mConditionAdapter.mSwipeCallback.onSwiped(viewHolder, 0);
// no crash
}
}

View File

@@ -15,22 +15,6 @@
*/
package com.android.settings.dashboard.conditional;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.IntentFilter;
import android.graphics.drawable.Icon;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.RuntimeEnvironment;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
@@ -40,8 +24,23 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.IntentFilter;
import android.graphics.drawable.Icon;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class ConditionTest {
@Mock
@@ -107,14 +106,12 @@ public class ConditionTest {
private static final IntentFilter TESTS_INTENT_FILTER = new IntentFilter("TestIntent");
private static final BroadcastReceiver mReceiver = mock(BroadcastReceiver.class);
TestCondition(ConditionManager manager,
MetricsFeatureProvider metricsFeatureProvider) {
TestCondition(ConditionManager manager, MetricsFeatureProvider metricsFeatureProvider) {
super(manager, metricsFeatureProvider);
}
@Override
public void refreshState() {
}
@Override
@@ -144,12 +141,10 @@ public class ConditionTest {
@Override
public void onPrimaryClick() {
}
@Override
public void onActionClick(int index) {
}
@Override
@@ -161,6 +156,5 @@ public class ConditionTest {
public IntentFilter getIntentFilter() {
return TESTS_INTENT_FILTER;
}
}
}

View File

@@ -15,18 +15,6 @@
*/
package com.android.settings.dashboard.conditional;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.never;
@@ -34,8 +22,19 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
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;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DndConditionTest {
@Mock
@@ -54,22 +53,21 @@ public class DndConditionTest {
@Test
public void constructor_shouldNotDisableReceiver() {
DndCondition condition = new DndCondition(mConditionManager);
new DndCondition(mConditionManager);
verify(mPackageManager, never()).setComponentEnabledSetting(any(ComponentName.class),
eq(PackageManager.COMPONENT_ENABLED_STATE_DISABLED), eq(PackageManager.DONT_KILL_APP));
}
@Test
public void constructor_shouldRegisterReceiver() {
DndCondition condition = new DndCondition(mConditionManager);
new DndCondition(mConditionManager);
verify(mContext).registerReceiver(any(DndCondition.Receiver.class),
eq(DndCondition.DND_FILTER));
}
@Test
public void silence_shouldNotDisableReceiver() {
DndCondition condition = new DndCondition(mConditionManager);
condition.silence();
new DndCondition(mConditionManager).silence();
verify(mPackageManager, never()).setComponentEnabledSetting(any(ComponentName.class),
eq(PackageManager.COMPONENT_ENABLED_STATE_DISABLED), eq(PackageManager.DONT_KILL_APP));
@@ -88,8 +86,7 @@ public class DndConditionTest {
@Test
public void onPause_shouldUnregisterReceiver() {
DndCondition condition = new DndCondition(mConditionManager);
condition.onPause();
new DndCondition(mConditionManager).onPause();
verify(mContext).unregisterReceiver(any(DndCondition.Receiver.class));
}

View File

@@ -24,7 +24,6 @@ import android.content.ComponentName;
import android.content.Context;
import com.android.settings.Settings;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -34,10 +33,8 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class WorkModeConditionTest {
@Mock

View File

@@ -16,7 +16,6 @@
package com.android.settings.dashboard.suggestions;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
@@ -33,7 +32,6 @@ import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.service.settings.suggestions.Suggestion;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
@@ -43,7 +41,6 @@ import android.widget.LinearLayout;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.TestConfig;
import com.android.settings.dashboard.DashboardAdapter;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -57,14 +54,12 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SuggestionAdapterTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -16,7 +16,6 @@
package com.android.settings.dashboard.suggestions;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
@@ -38,7 +37,6 @@ import android.util.Pair;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.Settings.NightDisplaySuggestionActivity;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
@@ -61,10 +59,7 @@ import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
ShadowSecureSettings.class,
SettingsShadowResources.class,
})
@Config(shadows = ShadowSecureSettings.class)
public class SuggestionFeatureProviderImplTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -24,7 +24,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.os.Bundle;
import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -33,10 +32,8 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SuggestionStateProviderTest {
private SuggestionStateProvider mProvider;