Update DashboardFeatureProviderImplTest to sdk 26

Test: make RunSettingsRoboTests -j40
Change-Id: I38282b97b3e0325a1568d1af9bd2b38b110736c1
This commit is contained in:
jeffreyhuang
2017-11-27 16:36:36 -08:00
parent eeffbf6225
commit c00ee9588a
2 changed files with 25 additions and 13 deletions

View File

@@ -15,6 +15,7 @@
--> -->
<resources> <resources>
<bool name="config_tintSettingIcon">false</bool>
<bool name="config_enableColorTemperature">false</bool> <bool name="config_enableColorTemperature">false</bool>
<bool name="config_show_camera_laser_sensor">false</bool> <bool name="config_show_camera_laser_sensor">false</bool>
<bool name="config_show_connectivity_monitor">false</bool> <bool name="config_show_connectivity_monitor">false</bool>

View File

@@ -17,10 +17,13 @@
package com.android.settings.dashboard; package com.android.settings.dashboard;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any; import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq; import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.RuntimeEnvironment.application;
@@ -30,7 +33,8 @@ import android.app.Activity;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.os.Bundle; import android.os.Bundle;
@@ -60,6 +64,7 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
@@ -69,7 +74,7 @@ import java.util.ArrayList;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, @Config(manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION, sdk = TestConfig.SDK_VERSION_O,
shadows = ShadowUserManager.class) shadows = ShadowUserManager.class)
public class DashboardFeatureProviderImplTest { public class DashboardFeatureProviderImplTest {
@@ -79,21 +84,28 @@ public class DashboardFeatureProviderImplTest {
private UserManager mUserManager; private UserManager mUserManager;
@Mock @Mock
private CategoryManager mCategoryManager; private CategoryManager mCategoryManager;
@Mock
private PackageManager mPackageManager;
private FakeFeatureFactory mFeatureFactory; private FakeFeatureFactory mFeatureFactory;
private Context mContext;
private DashboardFeatureProviderImpl mImpl; private DashboardFeatureProviderImpl mImpl;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
doReturn(mPackageManager).when(mContext).getPackageManager();
when(mPackageManager.resolveActivity(any(Intent.class), anyInt())).thenReturn(
new ResolveInfo());
FakeFeatureFactory.setupForTest(mActivity); FakeFeatureFactory.setupForTest(mActivity);
mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mActivity); mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mActivity);
mImpl = new DashboardFeatureProviderImpl(mActivity); mImpl = new DashboardFeatureProviderImpl(mContext);
} }
@Test @Test
public void shouldHoldAppContext() { public void shouldHoldAppContext() {
assertThat(mImpl.mContext).isEqualTo(mActivity.getApplicationContext()); assertThat(mImpl.mContext).isEqualTo(mContext.getApplicationContext());
} }
@Test @Test
@@ -342,7 +354,7 @@ public class DashboardFeatureProviderImplTest {
} }
@Test @Test
public void bindPreference_withIntentActionMetatdata_shouldSetLaunchAction() { public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
Activity activity = Robolectric.buildActivity(Activity.class).get(); Activity activity = Robolectric.buildActivity(Activity.class).get();
final ShadowApplication application = ShadowApplication.getInstance(); final ShadowApplication application = ShadowApplication.getInstance();
final Preference preference = new Preference(application.getApplicationContext()); final Preference preference = new Preference(application.getApplicationContext());
@@ -437,14 +449,13 @@ public class DashboardFeatureProviderImplTest {
} }
@Test @Test
public void testShouldTintIcon_shouldReturnValueFromResource() { public void testShouldTintIcon_enabledInResources_shouldBeTrue() {
final Resources res = mActivity.getApplicationContext().getResources();
when(res.getBoolean(R.bool.config_tintSettingIcon))
.thenReturn(false);
assertThat(mImpl.shouldTintIcon()).isFalse();
when(res.getBoolean(R.bool.config_tintSettingIcon))
.thenReturn(true);
assertThat(mImpl.shouldTintIcon()).isTrue(); assertThat(mImpl.shouldTintIcon()).isTrue();
} }
@Test
@Config(qualifiers = "mcc999")
public void testShouldTintIcon_disabledInResources_shouldBeFalse() {
assertThat(mImpl.shouldTintIcon()).isFalse();
}
} }