Merge "Change underlying preferenceControllers to an ArrayMap of Lists."

This commit is contained in:
TreeHugger Robot
2018-01-04 02:45:27 +00:00
committed by Android (Google) Code Review
3 changed files with 75 additions and 26 deletions

View File

@@ -90,6 +90,19 @@ public class DashboardFragmentTest {
assertThat(controller).isSameAs(retrievedController);
}
@Test
public void testPreferenceControllerSetter_shouldAddAndNotReplace() {
final TestPreferenceController controller1 = new TestPreferenceController(mContext);
mTestFragment.addPreferenceController(controller1);
final TestPreferenceController controller2 = new TestPreferenceController(mContext);
mTestFragment.addPreferenceController(controller2);
final TestPreferenceController retrievedController = mTestFragment.getPreferenceController
(TestPreferenceController.class);
assertThat(controller1).isSameAs(retrievedController);
}
@Test
public void displayTilesAsPreference_shouldAddTilesWithIntent() {
when(mFakeFeatureFactory.dashboardFeatureProvider
@@ -145,6 +158,23 @@ public class DashboardFragmentTest {
verify(mockController2).getPreferenceKey();
}
@Test
public void updateState_doesNotSkipControllersOfSameClass() {
final AbstractPreferenceController mockController1 =
mock(AbstractPreferenceController.class);
final AbstractPreferenceController mockController2 =
mock(AbstractPreferenceController.class);
mTestFragment.addPreferenceController(mockController1);
mTestFragment.addPreferenceController(mockController2);
when(mockController1.isAvailable()).thenReturn(true);
when(mockController2.isAvailable()).thenReturn(true);
mTestFragment.updatePreferenceStates();
verify(mockController1).getPreferenceKey();
verify(mockController2).getPreferenceKey();
}
@Test
public void tintTileIcon_hasMetadata_shouldReturnIconTintableMetadata() {
final Tile tile = new Tile();

View File

@@ -33,6 +33,8 @@ import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -55,10 +57,12 @@ public class ScreenLockSettingsTest {
@Test
public void onOwnerInfoUpdated_shouldUpdateOwnerInfoController() {
final Map<Class, AbstractPreferenceController> preferenceControllers =
final Map<Class, List<AbstractPreferenceController>> preferenceControllers =
ReflectionHelpers.getField(mSettings, "mPreferenceControllers");
final OwnerInfoPreferenceController controller = mock(OwnerInfoPreferenceController.class);
preferenceControllers.put(OwnerInfoPreferenceController.class, controller);
List<AbstractPreferenceController> controllerList = new ArrayList<>();
controllerList.add(controller);
preferenceControllers.put(OwnerInfoPreferenceController.class, controllerList);
mSettings.onOwnerInfoUpdated();