Merge changes I88978ab8,I07137c92,Ifdd4db51

* changes:
  Move display test package to sdk 26
  Update AppGridViewTest to sdk 26
  Update AmbientDisplayAlwaysOnPrefTest to sdk 26
This commit is contained in:
TreeHugger Robot
2017-11-29 00:09:31 +00:00
committed by Android (Google) Code Review
14 changed files with 74 additions and 35 deletions

View File

@@ -21,6 +21,7 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.annotation.VisibleForTesting;
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.R;
@@ -81,7 +82,7 @@ public class AmbientDisplayAlwaysOnPreferenceController extends
@Override
public boolean isAvailable() {
return isAvailable(mConfig);
return alwaysOnAvailableForUser(mConfig);
}
public static boolean isAvailable(AmbientDisplayConfiguration config) {
@@ -102,4 +103,9 @@ public class AmbientDisplayAlwaysOnPreferenceController extends
ResultPayload.SettingsSource.SECURE, ON /* onValue */, intent, isAvailable(),
ON /* defaultValue */);
}
@VisibleForTesting
boolean alwaysOnAvailableForUser(AmbientDisplayConfiguration config) {
return isAvailable(config);
}
}

View File

@@ -17,7 +17,11 @@
package com.android.settings.display;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Matchers.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;
@@ -41,22 +45,27 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O,
shadows = {ShadowSecureSettings.class})
public class AmbientDisplayAlwaysOnPreferenceControllerTest {
@Mock Context mContext;
@Mock AmbientDisplayConfiguration mConfig;
@Mock SwitchPreference mSwitchPreference;
@Mock
private Context mContext;
@Mock
private AmbientDisplayConfiguration mConfig;
@Mock
private SwitchPreference mSwitchPreference;
AmbientDisplayAlwaysOnPreferenceController mController;
boolean mCallbackInvoked;
private AmbientDisplayAlwaysOnPreferenceController mController;
private boolean mCallbackInvoked;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mController = new AmbientDisplayAlwaysOnPreferenceController(mContext, mConfig,
() -> { mCallbackInvoked = true; });
() -> {
mCallbackInvoked = true;
});
}
@Test
@@ -91,7 +100,7 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
mController.onPreferenceChange(mSwitchPreference, true);
assertThat(Settings.Secure.getInt(null, Settings.Secure.DOZE_ALWAYS_ON, -1))
.isEqualTo(1);
.isEqualTo(1);
}
@Test
@@ -99,39 +108,45 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
mController.onPreferenceChange(mSwitchPreference, false);
assertThat(Settings.Secure.getInt(null, Settings.Secure.DOZE_ALWAYS_ON, -1))
.isEqualTo(0);
.isEqualTo(0);
}
@Test
public void isAvailable_available() throws Exception {
when(mConfig.alwaysOnAvailableForUser(anyInt()))
.thenReturn(true);
mController = spy(mController);
doReturn(true).when(mController).alwaysOnAvailableForUser(any());
assertThat(mController.isAvailable()).isTrue();
}
@Test
public void isAvailable_unavailable() throws Exception {
when(mConfig.alwaysOnAvailableForUser(anyInt()))
.thenReturn(false);
mController = spy(mController);
doReturn(false).when(mController).alwaysOnAvailableForUser(any());
assertThat(mController.isAvailable()).isFalse();
}
@Test
public void testPreferenceController_ProperResultPayloadType() {
mController = spy(mController);
doReturn(false).when(mController).alwaysOnAvailableForUser(any());
assertThat(mController.getResultPayload()).isInstanceOf(InlineSwitchPayload.class);
}
@Test
@Config(shadows = ShadowSecureSettings.class)
public void testSetValue_updatesCorrectly() {
int newValue = 1;
ContentResolver resolver = mContext.getContentResolver();
Settings.Secure.putInt(resolver, Settings.Secure.DOZE_ALWAYS_ON, 0);
mController = spy(mController);
doReturn(false).when(mController).alwaysOnAvailableForUser(any());
final int newValue = 1;
final ContentResolver resolver = mContext.getContentResolver();
Settings.Secure.putInt(resolver, Settings.Secure.DOZE_ALWAYS_ON, 0 /* value */);
((InlinePayload) mController.getResultPayload()).setValue(mContext, newValue);
int updatedValue = Settings.Secure.getInt(resolver, Settings.Secure.DOZE_ALWAYS_ON, 1);
final int updatedValue = Settings.Secure.getInt(resolver,
Settings.Secure.DOZE_ALWAYS_ON, 1 /* default */);
assertThat(updatedValue).isEqualTo(newValue);
}
@@ -139,11 +154,13 @@ public class AmbientDisplayAlwaysOnPreferenceControllerTest {
@Test
@Config(shadows = ShadowSecureSettings.class)
public void testGetValue_correctValueReturned() {
int currentValue = 1;
ContentResolver resolver = mContext.getContentResolver();
mController = spy(mController);
doReturn(false).when(mController).alwaysOnAvailableForUser(any());
final int currentValue = 1;
final ContentResolver resolver = mContext.getContentResolver();
Settings.Secure.putInt(resolver, Settings.Secure.DOZE_ALWAYS_ON, currentValue);
int newValue = ((InlinePayload) mController.getResultPayload()).getValue(mContext);
final int newValue = ((InlinePayload) mController.getResultPayload()).getValue(mContext);
assertThat(newValue).isEqualTo(currentValue);
}

View File

@@ -46,7 +46,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O,
shadows = {ShadowSecureSettings.class})
public class AmbientDisplayNotificationsPreferenceControllerTest {

View File

@@ -39,7 +39,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O,
shadows = {ShadowSecureSettings.class})
public class AmbientDisplayPreferenceControllerTest {

View File

@@ -18,9 +18,16 @@ package com.android.settings.display;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable;
import android.util.IconDrawableFactory;
import com.android.settings.TestConfig;
@@ -35,13 +42,19 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class AppGridViewTest {
@Mock
private ResolveInfo mInfo;
@Mock
private ActivityInfo mActivityInfo;
@Mock
private ApplicationInfo mApplicationInfo;
@Mock
private Drawable mIcon;
@Mock
private PackageManager mPackageManager;
private Context mContext;
private IconDrawableFactory mIconFactory;
@@ -49,13 +62,16 @@ public class AppGridViewTest {
public void setUp() {
MockitoAnnotations.initMocks(this);
mInfo.activityInfo = mActivityInfo;
mContext = RuntimeEnvironment.application;
mInfo.activityInfo.applicationInfo = mApplicationInfo;
mContext = spy(RuntimeEnvironment.application);
doReturn(mPackageManager).when(mContext).getPackageManager();
mIconFactory = IconDrawableFactory.newInstance(mContext);
}
@Test
public void appEntry_shouldLoadIcon() {
when(mPackageManager.loadUnbadgedItemIcon(mActivityInfo, mApplicationInfo)).thenReturn(
mIcon);
final AppGridView.ActivityEntry activityEntry = new AppGridView.ActivityEntry(
mInfo, "label", mIconFactory);

View File

@@ -48,7 +48,7 @@ import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(
manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION,
sdk = TestConfig.SDK_VERSION_O,
shadows = ShadowSystemSettings.class
)
public class AutoRotatePreferenceControllerTest {

View File

@@ -31,7 +31,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class BatteryPercentagePreferenceControllerTest {
@Mock private Context mContext;
private BatteryPercentagePreferenceController mController;

View File

@@ -46,7 +46,7 @@ import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowContentResolver;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class BrightnessLevelPreferenceControllerTest {
@Mock
private Context mContext;

View File

@@ -46,7 +46,7 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class ColorModePreferenceFragmentTest {
private ColorModePreferenceFragment mFragment;

View File

@@ -36,7 +36,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class ShowOperatorNamePreferenceControllerTest {
private static final String KEY_SHOW_OPERATOR_NAME = "show_operator_name";

View File

@@ -47,7 +47,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class ThemePreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -33,7 +33,7 @@ import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
import static com.google.common.truth.Truth.assertThat;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class TimeoutPreferenceControllerTest {
private static final int TIMEOUT = 30;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -39,7 +39,7 @@ import org.robolectric.annotation.Config;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class VrDisplayPreferencePickerTest {
private VrDisplayPreferencePicker mPicker;

View File

@@ -43,7 +43,7 @@ import java.util.ArrayList;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
public class WallpaperPreferenceControllerTest {
private static final String WALLPAPER_PACKAGE = "TestPkg";