Merge "Update Robolectric to 3.4.2"

This commit is contained in:
TreeHugger Robot
2017-09-27 23:49:19 +00:00
committed by Android (Google) Code Review
66 changed files with 297 additions and 273 deletions

View File

@@ -9,12 +9,12 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src)
# Include the testing libraries (JUnit4 + Robolectric libs). # Include the testing libraries (JUnit4 + Robolectric libs).
LOCAL_STATIC_JAVA_LIBRARIES := \ LOCAL_STATIC_JAVA_LIBRARIES := \
mockito-robolectric-prebuilt \ mockito-robolectric-prebuilt \
platform-robolectric-android-all-stubs \
truth-prebuilt truth-prebuilt
LOCAL_JAVA_LIBRARIES := \ LOCAL_JAVA_LIBRARIES := \
junit \ junit \
platform-robolectric-prebuilt \ platform-robolectric-3.4.2-prebuilt \
sdk_vcurrent \
telephony-common telephony-common
LOCAL_INSTRUMENTATION_FOR := Settings LOCAL_INSTRUMENTATION_FOR := Settings
@@ -40,4 +40,6 @@ LOCAL_TEST_PACKAGE := Settings
LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src
include prebuilts/misc/common/robolectric/run_robotests.mk LOCAL_ROBOTEST_TIMEOUT := 36000
include prebuilts/misc/common/robolectric/3.4.2/run_robotests.mk

View File

@@ -26,7 +26,6 @@ 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 android.app.Activity;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.FragmentManager; import android.app.FragmentManager;
import android.app.FragmentTransaction; import android.app.FragmentTransaction;
@@ -35,10 +34,8 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Bundle; import android.os.Bundle;
import android.view.Menu;
import com.android.settings.search.SearchActivity; import com.android.settings.search.SearchActivity;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
@@ -50,7 +47,6 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)

View File

@@ -39,8 +39,8 @@ import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.util.ActivityController;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)

View File

@@ -37,9 +37,9 @@ import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.res.builder.RobolectricPackageManager.ComponentState; import org.robolectric.shadows.ShadowPackageManager.ComponentState;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config( @Config(
@@ -57,7 +57,7 @@ public class SetupChooseLockPatternTest {
@Before @Before
public void setUp() { public void setUp() {
RuntimeEnvironment.getRobolectricPackageManager().setComponentEnabledSetting( Shadows.shadowOf(application.getPackageManager()).setComponentEnabledSetting(
new ComponentName(application, SetupRedactionInterstitial.class), new ComponentName(application, SetupRedactionInterstitial.class),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP); PackageManager.DONT_KILL_APP);
@@ -77,7 +77,7 @@ public class SetupChooseLockPatternTest {
findFragment(mActivity).onChosenLockSaveFinished(false, null); findFragment(mActivity).onChosenLockSaveFinished(false, null);
ComponentState redactionComponentState = ComponentState redactionComponentState =
RuntimeEnvironment.getRobolectricPackageManager().getComponentState( Shadows.shadowOf(application.getPackageManager()).getComponentState(
new ComponentName(application, SetupRedactionInterstitial.class)); new ComponentName(application, SetupRedactionInterstitial.class));
assertThat(redactionComponentState.newState).named("Redaction component state") assertThat(redactionComponentState.newState).named("Redaction component state")
.isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED); .isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);

View File

@@ -16,14 +16,19 @@
package com.android.settings.accessibility; package com.android.settings.accessibility;
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.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.UserManager; import android.os.UserManager;
import android.test.mock.MockContentResolver;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
@@ -35,11 +40,6 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
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;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class ShortcutServicePickerFragmentTest { public class ShortcutServicePickerFragmentTest {
@@ -58,7 +58,6 @@ public class ShortcutServicePickerFragmentTest {
private PackageManagerWrapper mPackageManager; private PackageManagerWrapper mPackageManager;
private ShortcutServicePickerFragment mFragment; private ShortcutServicePickerFragment mFragment;
private MockContentResolver mContentResolver;
@Before @Before
public void setUp() { public void setUp() {

View File

@@ -41,7 +41,6 @@ import org.junit.runner.RunWith;
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.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;

View File

@@ -18,6 +18,7 @@ package com.android.settings.accounts;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.accounts.Account; import android.accounts.Account;
@@ -76,6 +77,7 @@ public class AccountHeaderPreferenceControllerTest {
FakeFeatureFactory.setupForTest(mContext); FakeFeatureFactory.setupForTest(mContext);
mHeaderPreference = new LayoutPreference( mHeaderPreference = new LayoutPreference(
RuntimeEnvironment.application, R.layout.settings_entity_header); RuntimeEnvironment.application, R.layout.settings_entity_header);
doReturn(mContext).when(mActivity).getApplicationContext();
} }
@Test @Test

View File

@@ -17,7 +17,6 @@ package com.android.settings.accounts;
import android.app.Activity; import android.app.Activity;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.os.Bundle;
import android.os.UserManager; import android.os.UserManager;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
@@ -25,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.dashboard.SummaryLoader; import com.android.settings.dashboard.SummaryLoader;
import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View File

@@ -85,10 +85,10 @@ public class AppStorageSizesControllerTest {
mController.setResult(result); mController.setResult(result);
mController.updateUi(mContext); mController.updateUi(mContext);
assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B");
assertThat(mCachePreference.getSummary()).isEqualTo("10.00B"); assertThat(mCachePreference.getSummary()).isEqualTo("10.00 B");
assertThat(mDataPreference.getSummary()).isEqualTo("90.00B"); assertThat(mDataPreference.getSummary()).isEqualTo("90.00 B");
assertThat(mTotalPreference.getSummary()).isEqualTo("101B"); assertThat(mTotalPreference.getSummary()).isEqualTo("101 B");
} }
@Test @Test
@@ -103,10 +103,10 @@ public class AppStorageSizesControllerTest {
mController.setCacheCleared(true); mController.setCacheCleared(true);
mController.updateUi(mContext); mController.updateUi(mContext);
assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B");
assertThat(mCachePreference.getSummary()).isEqualTo("0.00B"); assertThat(mCachePreference.getSummary()).isEqualTo("0.00 B");
assertThat(mDataPreference.getSummary()).isEqualTo("90.00B"); assertThat(mDataPreference.getSummary()).isEqualTo("90.00 B");
assertThat(mTotalPreference.getSummary()).isEqualTo("91.00B"); assertThat(mTotalPreference.getSummary()).isEqualTo("91.00 B");
} }
@Test @Test
@@ -121,9 +121,9 @@ public class AppStorageSizesControllerTest {
mController.setDataCleared(true); mController.setDataCleared(true);
mController.updateUi(mContext); mController.updateUi(mContext);
assertThat(mAppPreference.getSummary()).isEqualTo("1.00B"); assertThat(mAppPreference.getSummary()).isEqualTo("1.00 B");
assertThat(mCachePreference.getSummary()).isEqualTo("0.00B"); assertThat(mCachePreference.getSummary()).isEqualTo("0.00 B");
assertThat(mDataPreference.getSummary()).isEqualTo("0.00B"); assertThat(mDataPreference.getSummary()).isEqualTo("0.00 B");
assertThat(mTotalPreference.getSummary()).isEqualTo("1.00B"); assertThat(mTotalPreference.getSummary()).isEqualTo("1.00 B");
} }
} }

View File

@@ -192,7 +192,7 @@ public final class InstalledAppDetailsTest {
when(stats.getTotalBytes()).thenReturn(1L); when(stats.getTotalBytes()).thenReturn(1L);
assertThat(InstalledAppDetails.getStorageSummary(context, stats, true)) assertThat(InstalledAppDetails.getStorageSummary(context, stats, true))
.isEqualTo("1.00B used in external storage"); .isEqualTo("1.00 B used in external storage");
} }
@Test @Test
@@ -202,7 +202,7 @@ public final class InstalledAppDetailsTest {
when(stats.getTotalBytes()).thenReturn(1L); when(stats.getTotalBytes()).thenReturn(1L);
assertThat(InstalledAppDetails.getStorageSummary(context, stats, false)) assertThat(InstalledAppDetails.getStorageSummary(context, stats, false))
.isEqualTo("1.00B used in internal storage"); .isEqualTo("1.00 B used in internal storage");
} }
@Test @Test

View File

@@ -77,7 +77,7 @@ public class MusicViewHolderControllerTest {
public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() { public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() {
mController.setupView(mHolder); mController.setupView(mHolder);
assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00B"); assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00 B");
} }
@Test @Test
@@ -88,7 +88,7 @@ public class MusicViewHolderControllerTest {
mController.queryStats(); mController.queryStats();
mController.setupView(mHolder); mController.setupView(mHolder);
assertThat(mHolder.summary.getText().toString()).isEqualTo("1.00B"); assertThat(mHolder.summary.getText().toString()).isEqualTo("1.00 B");
} }
@Test @Test

View File

@@ -59,7 +59,7 @@ public class PhotosViewHolderControllerTest {
public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() { public void storageShouldBeZeroBytesIfQueriedBeforeStorageQueryFinishes() {
mController.setupView(mHolder); mController.setupView(mHolder);
assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00B"); assertThat(mHolder.summary.getText().toString()).isEqualTo("0.00 B");
} }
@Test @Test
@@ -70,7 +70,7 @@ public class PhotosViewHolderControllerTest {
mController.queryStats(); mController.queryStats();
mController.setupView(mHolder); mController.setupView(mHolder);
assertThat(mHolder.summary.getText().toString()).isEqualTo("11.00B"); assertThat(mHolder.summary.getText().toString()).isEqualTo("11.00 B");
} }
@Test @Test

View File

@@ -25,6 +25,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@@ -42,8 +43,12 @@ import static org.mockito.Mockito.spy;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DefaultAssistPickerTest { public class DefaultAssistPickerTest {
private static final ComponentName TEST_ASSIST = private static ComponentName sTestAssist;
new ComponentName("com.android.settings", "assist");
@BeforeClass
public static void beforeClass() {
sTestAssist = new ComponentName("com.android.settings", "assist");
}
private Context mContext; private Context mContext;
private DefaultAssistPicker mPicker; private DefaultAssistPicker mPicker;
@@ -59,22 +64,22 @@ public class DefaultAssistPickerTest {
@Test @Test
public void setDefaultAppKey_shouldUpdateDefaultAssist() { public void setDefaultAppKey_shouldUpdateDefaultAssist() {
final List<DefaultAssistPicker.Info> assistants = new ArrayList<>(); final List<DefaultAssistPicker.Info> assistants = new ArrayList<>();
assistants.add(new DefaultAssistPicker.Info(TEST_ASSIST)); assistants.add(new DefaultAssistPicker.Info(sTestAssist));
ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants);
mPicker.setDefaultKey(TEST_ASSIST.flattenToString()); mPicker.setDefaultKey(sTestAssist.flattenToString());
assertThat(Settings.Secure.getString(mContext.getContentResolver(), assertThat(Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.ASSISTANT)) Settings.Secure.ASSISTANT))
.isEqualTo(TEST_ASSIST.flattenToString()); .isEqualTo(sTestAssist.flattenToString());
assertThat(mPicker.getDefaultKey()) assertThat(mPicker.getDefaultKey())
.isEqualTo(TEST_ASSIST.flattenToString()); .isEqualTo(sTestAssist.flattenToString());
} }
@Test @Test
public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() { public void setDefaultAppKey_noAvaialbleAssit_shouldClearDefaultAssist() {
final List<DefaultAssistPicker.Info> assistants = new ArrayList<>(); final List<DefaultAssistPicker.Info> assistants = new ArrayList<>();
ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants);
mPicker.setDefaultKey(TEST_ASSIST.flattenToString()); mPicker.setDefaultKey(sTestAssist.flattenToString());
assertThat(Settings.Secure.getString(mContext.getContentResolver(), assertThat(Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.ASSISTANT)) Settings.Secure.ASSISTANT))
@@ -86,7 +91,7 @@ public class DefaultAssistPickerTest {
@Test @Test
public void setDefaultAppKeyToNull_shouldClearDefaultAssist() { public void setDefaultAppKeyToNull_shouldClearDefaultAssist() {
final List<DefaultAssistPicker.Info> assistants = new ArrayList<>(); final List<DefaultAssistPicker.Info> assistants = new ArrayList<>();
assistants.add(new DefaultAssistPicker.Info(TEST_ASSIST)); assistants.add(new DefaultAssistPicker.Info(sTestAssist));
ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants); ReflectionHelpers.setField(mPicker, "mAvailableAssistants", assistants);
mPicker.setDefaultKey(null); mPicker.setDefaultKey(null);

View File

@@ -17,19 +17,19 @@
package com.android.settings.applications.defaultapps; package com.android.settings.applications.defaultapps;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn; 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.spy;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.os.UserManager; import android.os.UserManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
@@ -46,8 +46,7 @@ import org.robolectric.util.ReflectionHelpers;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DefaultAutofillPickerTest { public class DefaultAutofillPickerTest {
private static final String TEST_APP_KEY = new ComponentName("foo.bar", private static final String TEST_APP_KEY = "foo.bar/foo.bar.Baz";
"foo.bar.Baz").flattenToString();
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Activity mActivity; private Activity mActivity;

View File

@@ -51,6 +51,7 @@ import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
@@ -66,11 +67,16 @@ public class InstantAppButtonsControllerTest {
private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer"; private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer";
private static final String TEST_INSTALLER_ACTIVITY_NAME = "com.installer.InstallerActivity"; private static final String TEST_INSTALLER_ACTIVITY_NAME = "com.installer.InstallerActivity";
private static final ComponentName TEST_INSTALLER_COMPONENT =
new ComponentName(
TEST_INSTALLER_PACKAGE_NAME,
TEST_INSTALLER_ACTIVITY_NAME);
private static final String TEST_AIA_PACKAGE_NAME = "test.aia.package"; private static final String TEST_AIA_PACKAGE_NAME = "test.aia.package";
private static ComponentName sTestInstallerComponent;
@BeforeClass
public static void beforeClass() {
sTestInstallerComponent =
new ComponentName(
TEST_INSTALLER_PACKAGE_NAME,
TEST_INSTALLER_ACTIVITY_NAME);
}
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
Context mockContext; Context mockContext;
@@ -133,7 +139,7 @@ public class InstantAppButtonsControllerTest {
receivedListener.onClick(mockInstallButton); receivedListener.onClick(mockInstallButton);
assertThat(testFragment.getStartActivityIntent()).isNotNull(); assertThat(testFragment.getStartActivityIntent()).isNotNull();
assertThat(testFragment.getStartActivityIntent().getComponent()) assertThat(testFragment.getStartActivityIntent().getComponent())
.isEqualTo(TEST_INSTALLER_COMPONENT); .isEqualTo(sTestInstallerComponent);
} }
@Test @Test

View File

@@ -16,6 +16,8 @@
package com.android.settings.backup; package com.android.settings.backup;
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.isA; import static org.mockito.Matchers.isA;
@@ -32,9 +34,9 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.UserHandle; import android.os.UserHandle;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw; import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
@@ -44,14 +46,13 @@ 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.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.annotation.Resetter; import org.robolectric.annotation.Resetter;
import org.robolectric.res.builder.RobolectricPackageManager; import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.util.ActivityController;
import static com.google.common.truth.Truth.assertThat;
import java.util.List; import java.util.List;
@@ -64,7 +65,7 @@ public class BackupSettingsActivityTest {
private ActivityController<BackupSettingsActivity> mActivityController; private ActivityController<BackupSettingsActivity> mActivityController;
private BackupSettingsActivity mActivity; private BackupSettingsActivity mActivity;
private Application mApplication; private Application mApplication;
private RobolectricPackageManager mPackageManager; private ShadowPackageManager mPackageManager;
private static boolean mIsBackupProvidedByOEM; private static boolean mIsBackupProvidedByOEM;
@Mock @Mock
@@ -84,7 +85,7 @@ public class BackupSettingsActivityTest {
mApplication = RuntimeEnvironment.application; mApplication = RuntimeEnvironment.application;
mActivityController = Robolectric.buildActivity(BackupSettingsActivity.class); mActivityController = Robolectric.buildActivity(BackupSettingsActivity.class);
mActivity = mActivityController.get(); mActivity = mActivityController.get();
mPackageManager = (RobolectricPackageManager) mApplication.getPackageManager(); mPackageManager = Shadows.shadowOf(mApplication.getPackageManager());
doReturn(mComponent).when(mIntent).getComponent(); doReturn(mComponent).when(mIntent).getComponent();
} }

View File

@@ -38,6 +38,7 @@ import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.LocalBluetoothManager;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
@@ -62,8 +63,12 @@ import static org.mockito.Mockito.when;
}) })
public class BluetoothEnablerTest { public class BluetoothEnablerTest {
private static final EnforcedAdmin FAKE_ENFORCED_ADMIN = private static EnforcedAdmin sFakeEnforcedAdmin;
new EnforcedAdmin(new ComponentName("test.package", "test.Class"), 10);
@BeforeClass
public static void beforeClass() {
sFakeEnforcedAdmin = new EnforcedAdmin(new ComponentName("test.package", "test.Class"), 10);
}
@Mock @Mock
private MetricsFeatureProvider mMetricsFeatureProvider; private MetricsFeatureProvider mMetricsFeatureProvider;
@@ -130,7 +135,7 @@ public class BluetoothEnablerTest {
public void maybeEnforceRestrictions_disallowBluetoothRestrictionSet() { public void maybeEnforceRestrictions_disallowBluetoothRestrictionSet() {
// GIVEN Bluetooth has been disallowed... // GIVEN Bluetooth has been disallowed...
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin);
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null); mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null);
@@ -139,7 +144,7 @@ public class BluetoothEnablerTest {
assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue(); assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue();
// THEN the expected EnfoceAdmin is set. // THEN the expected EnfoceAdmin is set.
verify(mMasterSwitchController).setDisabledByAdmin(FAKE_ENFORCED_ADMIN); verify(mMasterSwitchController).setDisabledByAdmin(sFakeEnforcedAdmin);
// THEN the switch is unchecked. // THEN the switch is unchecked.
verify(mMasterSwitchController).setChecked(false); verify(mMasterSwitchController).setChecked(false);
@@ -151,14 +156,14 @@ public class BluetoothEnablerTest {
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(null); mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(null);
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin);
// WHEN the maybeEnforceRestrictions is called... // WHEN the maybeEnforceRestrictions is called...
// THEN true is returned to indicate there was a restriction to enforce. // THEN true is returned to indicate there was a restriction to enforce.
assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue(); assertThat(mBluetoothEnabler.maybeEnforceRestrictions()).isTrue();
// THEN the expected EnfoceAdmin is set. // THEN the expected EnfoceAdmin is set.
verify(mMasterSwitchController).setDisabledByAdmin(FAKE_ENFORCED_ADMIN); verify(mMasterSwitchController).setDisabledByAdmin(sFakeEnforcedAdmin);
// THEN the switch is unchecked. // THEN the switch is unchecked.
verify(mMasterSwitchController).setChecked(false); verify(mMasterSwitchController).setChecked(false);
@@ -168,7 +173,7 @@ public class BluetoothEnablerTest {
public void maybeEnforceRestrictions_disallowBluetoothNotOverriden() { public void maybeEnforceRestrictions_disallowBluetoothNotOverriden() {
// GIVEN Bluetooth has been disallowed... // GIVEN Bluetooth has been disallowed...
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(FAKE_ENFORCED_ADMIN); mContext, UserManager.DISALLOW_BLUETOOTH)).thenReturn(sFakeEnforcedAdmin);
when(mRestrictionUtils.checkIfRestrictionEnforced( when(mRestrictionUtils.checkIfRestrictionEnforced(
mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null); mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH)).thenReturn(null);

View File

@@ -22,7 +22,6 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.text.TextUtils;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
@@ -35,8 +34,6 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class BluetoothFilesPreferenceControllerTest { public class BluetoothFilesPreferenceControllerTest {

View File

@@ -21,7 +21,6 @@ import android.content.Context;
import android.support.v7.preference.Preference.OnPreferenceChangeListener; import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;

View File

@@ -33,7 +33,6 @@ import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View File

@@ -23,6 +23,7 @@ import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
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.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
import android.app.Activity; import android.app.Activity;
@@ -59,7 +60,6 @@ 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;
@@ -138,7 +138,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() { public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
@@ -159,7 +159,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() { public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
@@ -184,19 +184,19 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() { public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class));
tile.intent = new Intent(); tile.intent = new Intent();
tile.intent.setComponent( tile.intent.setComponent(
new ComponentName(RuntimeEnvironment.application.getPackageName(), "class")); new ComponentName(application.getPackageName(), "class"));
when(mActivity.getSystemService(Context.USER_SERVICE)) when(mActivity.getSystemService(Context.USER_SERVICE))
.thenReturn(mUserManager); .thenReturn(mUserManager);
when(mActivity.getApplicationContext().getPackageName()) when(mActivity.getApplicationContext().getPackageName())
.thenReturn(RuntimeEnvironment.application.getPackageName()); .thenReturn(application.getPackageName());
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES, mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
preference, tile, "123", Preference.DEFAULT_ORDER); preference, tile, "123", Preference.DEFAULT_ORDER);
@@ -211,7 +211,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() { public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.intent = new Intent(); tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class")); tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -224,7 +224,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() { public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.intent = new Intent(); tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class")); tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -232,12 +232,12 @@ public class DashboardFeatureProviderImplTest {
preference, tile, null /*key */, Preference.DEFAULT_ORDER); preference, tile, null /*key */, Preference.DEFAULT_ORDER);
assertThat(preference.getSummary()) assertThat(preference.getSummary())
.isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder)); .isEqualTo(application.getString(R.string.summary_placeholder));
} }
@Test @Test
public void bindPreference_hasSummary_shouldSetSummary() { public void bindPreference_hasSummary_shouldSetSummary() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.summary = "test"; tile.summary = "test";
tile.intent = new Intent(); tile.intent = new Intent();
@@ -254,7 +254,7 @@ public class DashboardFeatureProviderImplTest {
ShadowThreadUtils.class ShadowThreadUtils.class
}) })
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() { public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.intent = new Intent(); tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class")); tile.intent.setComponent(new ComponentName("pkg", "class"));
@@ -270,7 +270,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() { public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.key = "key"; tile.key = "key";
tile.intent = new Intent(); tile.intent = new Intent();
@@ -287,12 +287,12 @@ public class DashboardFeatureProviderImplTest {
ShadowThreadUtils.class ShadowThreadUtils.class
}) })
public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() { public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.key = "key"; tile.key = "key";
tile.intent = new Intent(); tile.intent = new Intent();
tile.intent.setComponent( tile.intent.setComponent(
new ComponentName(RuntimeEnvironment.application.getPackageName(), "class")); new ComponentName(application.getPackageName(), "class"));
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI, tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
"content://com.android.settings/tile_icon"); "content://com.android.settings/tile_icon");
@@ -304,7 +304,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_withBaseOrder_shouldOffsetPriority() { public void bindPreference_withBaseOrder_shouldOffsetPriority() {
final int baseOrder = 100; final int baseOrder = 100;
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.priority = 10; tile.priority = 10;
@@ -316,7 +316,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() { public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final int testOrder = -30; final int testOrder = -30;
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
@@ -330,7 +330,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_invalidOrderMetadata_shouldIgnore() { public void bindPreference_invalidOrderMetadata_shouldIgnore() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(application);
final Tile tile = new Tile(); final Tile tile = new Tile();
tile.metaData = new Bundle(); tile.metaData = new Bundle();
tile.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello"); tile.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello");
@@ -368,7 +368,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() { public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() {
ReflectionHelpers.setField( ReflectionHelpers.setField(
mImpl, "mPackageManager", RuntimeEnvironment.getPackageManager()); mImpl, "mPackageManager", application.getPackageManager());
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());

View File

@@ -21,9 +21,15 @@ import static com.google.common.truth.Truth.assertThat;
import android.util.Pair; import android.util.Pair;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SuggestionLogHelperTest { public class SuggestionLogHelperTest {
@Test @Test

View File

@@ -31,6 +31,7 @@ import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.widget.DonutView; import com.android.settings.widget.DonutView;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
@@ -48,9 +49,16 @@ public final class DataPlanSummaryPreferenceTest {
private static final String TEST_PLAN_USAGE = "Test plan usage"; private static final String TEST_PLAN_USAGE = "Test plan usage";
private static final String TEST_PLAN_NAME = "Test plan name"; private static final String TEST_PLAN_NAME = "Test plan name";
private static final String TEST_PLAN_DESCRIPTION = "Test plan description"; private static final String TEST_PLAN_DESCRIPTION = "Test plan description";
private static final int PLAN_USAGE_TEXT_COLOR = Color.parseColor("#FF5C94F1"); private static int sPlanUsageTextColor;
private static final int METER_BACKGROUND_COLOR = Color.parseColor("#FFDBDCDC"); private static int sMeterBackgroundColor;
private static final int METER_CONSUMED_COLOR = Color.parseColor("#FF5C94F1"); private static int sMeterConsumedColor;
@BeforeClass
public static void beforeClass() {
sPlanUsageTextColor = Color.parseColor("#FF5C94F1");
sMeterBackgroundColor = Color.parseColor("#FFDBDCDC");
sMeterConsumedColor = Color.parseColor("#FF5C94F1");
}
private DataPlanSummaryPreference mPreference; private DataPlanSummaryPreference mPreference;
private PreferenceViewHolder mHolder; private PreferenceViewHolder mHolder;
@@ -87,18 +95,18 @@ public final class DataPlanSummaryPreferenceTest {
@Test @Test
public void shouldRender_withData() { public void shouldRender_withData() {
mPreference.setTitle(TEST_PLAN_USAGE); mPreference.setTitle(TEST_PLAN_USAGE);
mPreference.setUsageTextColor(PLAN_USAGE_TEXT_COLOR); mPreference.setUsageTextColor(sPlanUsageTextColor);
mPreference.setName(TEST_PLAN_NAME); mPreference.setName(TEST_PLAN_NAME);
mPreference.setDescription(TEST_PLAN_DESCRIPTION); mPreference.setDescription(TEST_PLAN_DESCRIPTION);
mPreference.setPercentageUsage(0.25D); mPreference.setPercentageUsage(0.25D);
mPreference.setMeterBackgroundColor(METER_BACKGROUND_COLOR); mPreference.setMeterBackgroundColor(sMeterBackgroundColor);
mPreference.setMeterConsumedColor(METER_CONSUMED_COLOR); mPreference.setMeterConsumedColor(sMeterConsumedColor);
mPreference.onBindViewHolder(mHolder); mPreference.onBindViewHolder(mHolder);
TextView planUsageTextView = (TextView) mHolder.findViewById(android.R.id.title); TextView planUsageTextView = (TextView) mHolder.findViewById(android.R.id.title);
assertThat(planUsageTextView.getTextColors().getDefaultColor()) assertThat(planUsageTextView.getTextColors().getDefaultColor())
.isEqualTo(PLAN_USAGE_TEXT_COLOR); .isEqualTo(sPlanUsageTextColor);
assertThat(planUsageTextView.getText()).isEqualTo(TEST_PLAN_USAGE); assertThat(planUsageTextView.getText()).isEqualTo(TEST_PLAN_USAGE);
TextView planNameTextView = (TextView) mHolder.findViewById(android.R.id.text1); TextView planNameTextView = (TextView) mHolder.findViewById(android.R.id.text1);
@@ -108,7 +116,7 @@ public final class DataPlanSummaryPreferenceTest {
assertThat(planDescriptionTextView.getText()).isEqualTo(TEST_PLAN_DESCRIPTION); assertThat(planDescriptionTextView.getText()).isEqualTo(TEST_PLAN_DESCRIPTION);
DonutView donutView = (DonutView) mHolder.findViewById(R.id.donut); DonutView donutView = (DonutView) mHolder.findViewById(R.id.donut);
assertThat(donutView.getMeterBackgroundColor()).isEqualTo(METER_BACKGROUND_COLOR); assertThat(donutView.getMeterBackgroundColor()).isEqualTo(sMeterBackgroundColor);
assertThat(donutView.getMeterConsumedColor()).isEqualTo(METER_CONSUMED_COLOR); assertThat(donutView.getMeterConsumedColor()).isEqualTo(sMeterConsumedColor);
} }
} }

View File

@@ -34,7 +34,6 @@ import com.android.settings.R;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.XmlTestUtils; import com.android.settings.testutils.XmlTestUtils;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -31,17 +31,14 @@ import android.net.wifi.WifiManager;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.XmlTestUtils;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;

View File

@@ -30,16 +30,13 @@ import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.annotation.Resetter;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)

View File

@@ -39,7 +39,6 @@ import org.robolectric.shadows.ShadowApplication;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Answers.RETURNS_DEEP_STUBS;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)

View File

@@ -34,7 +34,6 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.RuntimeEnvironment;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;

View File

@@ -97,8 +97,8 @@ public class StorageSummaryDonutPreferenceControllerTest {
mController.updateBytes(0, 32 * GIGABYTE); mController.updateBytes(0, 32 * GIGABYTE);
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getTitle().toString()).isEqualTo("0.00B"); assertThat(mPreference.getTitle().toString()).isEqualTo("0.00 B");
assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 32GB"); assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 32 GB");
} }
@Test @Test
@@ -106,8 +106,8 @@ public class StorageSummaryDonutPreferenceControllerTest {
mController.updateBytes(KILOBYTE, KILOBYTE * 10); mController.updateBytes(KILOBYTE, KILOBYTE * 10);
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getTitle().toString()).isEqualTo("1.00KB"); assertThat(mPreference.getTitle().toString()).isEqualTo("1.00 KB");
assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10KB"); assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10 KB");
} }
@Test @Test
@@ -123,8 +123,8 @@ public class StorageSummaryDonutPreferenceControllerTest {
mController.updateSizes(svp, volume); mController.updateSizes(svp, volume);
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.getTitle().toString()).isEqualTo("9.00KB"); assertThat(mPreference.getTitle().toString()).isEqualTo("9.00 KB");
assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10KB"); assertThat(mPreference.getSummary().toString()).isEqualTo("Used of 10 KB");
} }
@Test @Test

View File

@@ -17,6 +17,7 @@
package com.android.settings.display; package com.android.settings.display;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.reset; import static org.mockito.Mockito.reset;
@@ -30,8 +31,8 @@ import android.provider.Settings.System;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wrapper.PowerManagerWrapper; import com.android.settings.wrapper.PowerManagerWrapper;
import org.junit.Before; import org.junit.Before;
@@ -41,7 +42,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.internal.ShadowExtractor; import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowContentResolver; import org.robolectric.shadows.ShadowContentResolver;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@@ -84,8 +85,7 @@ public class BrightnessLevelPreferenceControllerTest {
Context context = RuntimeEnvironment.application; Context context = RuntimeEnvironment.application;
BrightnessLevelPreferenceController controller = BrightnessLevelPreferenceController controller =
new BrightnessLevelPreferenceController(context, null, mPowerManager); new BrightnessLevelPreferenceController(context, null, mPowerManager);
ShadowContentResolver shadowContentResolver = ShadowContentResolver shadowContentResolver = Shadow.extract(context.getContentResolver());
(ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver());
controller.onResume(); controller.onResume();
@@ -104,8 +104,7 @@ public class BrightnessLevelPreferenceControllerTest {
Context context = RuntimeEnvironment.application; Context context = RuntimeEnvironment.application;
BrightnessLevelPreferenceController controller = BrightnessLevelPreferenceController controller =
new BrightnessLevelPreferenceController(context, null, mPowerManager); new BrightnessLevelPreferenceController(context, null, mPowerManager);
ShadowContentResolver shadowContentResolver = ShadowContentResolver shadowContentResolver = Shadow.extract(context.getContentResolver());
(ShadowContentResolver) ShadowExtractor.extract(context.getContentResolver());
controller.displayPreference(mScreen); controller.displayPreference(mScreen);
controller.onResume(); controller.onResume();

View File

@@ -47,7 +47,6 @@ import org.mockito.ArgumentCaptor;
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.Shadows; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity;
@@ -75,8 +74,6 @@ public class FingerprintEnrollFindSensorTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
ShadowUtils.setFingerprintManager(mFingerprintManager); ShadowUtils.setFingerprintManager(mFingerprintManager);
RuntimeEnvironment.getAppResourceLoader().getResourceIndex();
mActivity = Robolectric.buildActivity( mActivity = Robolectric.buildActivity(
FingerprintEnrollFindSensor.class, FingerprintEnrollFindSensor.class,
new Intent() new Intent()

View File

@@ -42,10 +42,10 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.Shadows; import org.robolectric.Shadows;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowKeyguardManager; import org.robolectric.shadows.ShadowKeyguardManager;
import org.robolectric.util.ActivityController;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config( @Config(

View File

@@ -40,7 +40,6 @@ import org.junit.runner.RunWith;
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.Shadows; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowAlertDialog;
@@ -66,8 +65,6 @@ public class SetupFingerprintEnrollFindSensorTest {
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
ShadowUtils.setFingerprintManager(mFingerprintManager); ShadowUtils.setFingerprintManager(mFingerprintManager);
RuntimeEnvironment.getAppResourceLoader().getResourceIndex();
} }
private void createActivity(Intent intent) { private void createActivity(Intent intent) {

View File

@@ -48,15 +48,14 @@ import org.junit.runner.RunWith;
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.Shadows; import org.robolectric.Shadows;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowActivity.IntentForResult; import org.robolectric.shadows.ShadowActivity.IntentForResult;
import org.robolectric.shadows.ShadowKeyguardManager; import org.robolectric.shadows.ShadowKeyguardManager;
import org.robolectric.util.ActivityController;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config( @Config(
@@ -80,7 +79,7 @@ public class SetupFingerprintEnrollIntroductionTest {
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
RuntimeEnvironment.getRobolectricPackageManager() Shadows.shadowOf(application.getPackageManager())
.setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true); .setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true);
ShadowFingerprintManager.addToServiceMap(); ShadowFingerprintManager.addToServiceMap();

View File

@@ -38,6 +38,7 @@ import android.widget.Button;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import org.junit.Before; import org.junit.Before;
@@ -54,7 +55,13 @@ import org.robolectric.shadows.ShadowDialog;
import org.robolectric.util.FragmentTestUtil; import org.robolectric.util.FragmentTestUtil;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(
manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION,
shadows = {
SettingsShadowResources.class,
SettingsShadowResources.SettingsShadowTheme.class
})
public class BackgroundActivityPreferenceControllerTest { public class BackgroundActivityPreferenceControllerTest {
private static final int UID_LOW_SDK = 1234; private static final int UID_LOW_SDK = 1234;
private static final int UID_HIGH_SDK = 3456; private static final int UID_HIGH_SDK = 3456;

View File

@@ -147,7 +147,7 @@ public class BatteryEntryTest {
} }
@Test @Test
public void extractPackageFromSipper_normalSipper_returnDefaultPakcage() { public void extractPackageFromSipper_normalSipper_returnDefaultPackage() {
BatteryEntry entry = createBatteryEntryForApp(); BatteryEntry entry = createBatteryEntryForApp();
assertThat(entry.extractPackagesFromSipper(entry.sipper)).isEqualTo(entry.sipper.mPackages); assertThat(entry.extractPackagesFromSipper(entry.sipper)).isEqualTo(entry.sipper.mPackages);

View File

@@ -26,7 +26,6 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.BatteryManager;
import android.os.BatteryStats; import android.os.BatteryStats;
import com.android.internal.os.BatteryStatsHelper; import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;

View File

@@ -37,7 +37,6 @@ import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup; import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceManager;
import android.view.View;
import com.android.internal.os.BatterySipper; import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType; import com.android.internal.os.BatterySipper.DrainType;
import com.android.internal.os.BatteryStatsHelper; import com.android.internal.os.BatteryStatsHelper;

View File

@@ -66,6 +66,7 @@ import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
@@ -107,10 +108,14 @@ public class PowerUsageSummaryTest {
private static final double BATTERY_OVERCOUNTED_USAGE = 500; private static final double BATTERY_OVERCOUNTED_USAGE = 500;
private static final double PRECISION = 0.001; private static final double PRECISION = 0.001;
private static final double POWER_USAGE_PERCENTAGE = 50; private static final double POWER_USAGE_PERCENTAGE = 50;
private static final Intent ADDITIONAL_BATTERY_INFO_INTENT =
new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
public static final String NEW_ML_EST_SUFFIX = "(New ML est)"; public static final String NEW_ML_EST_SUFFIX = "(New ML est)";
public static final String OLD_EST_SUFFIX = "(Old est)"; public static final String OLD_EST_SUFFIX = "(Old est)";
private static Intent sAdditionalBatteryInfoIntent;
@BeforeClass
public static void beforeClass() {
sAdditionalBatteryInfoIntent =new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
}
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext; private Context mContext;
@@ -188,7 +193,7 @@ public class PowerUsageSummaryTest {
when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS); when(mToggleAppsMenu.getItemId()).thenReturn(MENU_TOGGLE_APPS);
when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS); when(mHighPowerMenu.getItemId()).thenReturn(MENU_HIGH_POWER_APPS);
when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
.thenReturn(ADDITIONAL_BATTERY_INFO_INTENT); .thenReturn(sAdditionalBatteryInfoIntent);
when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER); when(mBatteryHelper.getTotalPower()).thenReturn(TOTAL_POWER);
when(mBatteryHelper.getStats().computeBatteryRealtime(anyLong(), anyInt())).thenReturn( when(mBatteryHelper.getStats().computeBatteryRealtime(anyLong(), anyInt())).thenReturn(
TIME_SINCE_LAST_FULL_CHARGE_US); TIME_SINCE_LAST_FULL_CHARGE_US);

View File

@@ -19,7 +19,6 @@ package com.android.settings.fuelgauge.anomaly;
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.Mockito.doNothing; import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;

View File

@@ -32,7 +32,6 @@ import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.fuelgauge.BatteryUtils;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;

View File

@@ -26,7 +26,6 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import android.content.Context; import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.text.format.DateUtils; import android.text.format.DateUtils;

View File

@@ -27,7 +27,6 @@ import com.android.settings.R;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;

View File

@@ -43,7 +43,7 @@ import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class PIckupGesturePreferenceControllerTest { public class PickupGesturePreferenceControllerTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext; private Context mContext;

View File

@@ -16,33 +16,26 @@
package com.android.settings.gestures; package com.android.settings.gestures;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.provider.Settings; import android.provider.Settings;
import com.android.settings.search.InlinePayload;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.shadow.ShadowSecureSettings;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED; import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn; 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.spy;

View File

@@ -49,7 +49,7 @@ public class UserDictionaryCursorLoaderTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContentProvider = new FakeProvider(); mContentProvider = new FakeProvider();
mLoader = new UserDictionaryCursorLoader(RuntimeEnvironment.application, "" /* locale */); mLoader = new UserDictionaryCursorLoader(RuntimeEnvironment.application, "" /* locale */);
ShadowContentResolver.registerProvider(UserDictionary.AUTHORITY, mContentProvider); ShadowContentResolver.registerProviderInternal(UserDictionary.AUTHORITY, mContentProvider);
} }
@Test @Test

View File

@@ -47,7 +47,7 @@ public class UserDictionaryListTest {
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mContentProvider = new FakeProvider(); mContentProvider = new FakeProvider();
ShadowContentResolver.registerProvider(UserDictionary.AUTHORITY, mContentProvider); ShadowContentResolver.registerProviderInternal(UserDictionary.AUTHORITY, mContentProvider);
} }
@Test @Test

View File

@@ -15,7 +15,6 @@
*/ */
package com.android.settings.location; package com.android.settings.location;
import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.ArgumentMatchers.nullable;
@@ -35,10 +34,8 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.search.InlineListPayload; import com.android.settings.search.InlineListPayload;
import com.android.settings.search.InlinePayload; import com.android.settings.search.InlinePayload;
import com.android.settings.search.InlineSwitchPayload;
import com.android.settings.search.ResultPayload; import com.android.settings.search.ResultPayload;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
@@ -53,7 +50,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)

View File

@@ -16,21 +16,13 @@
package com.android.settings.notification; package com.android.settings.notification;
import android.app.NotificationManager;
import android.app.NotificationManager.Policy;
import android.content.Context;
import android.support.v7.preference.Preference;
import com.android.settings.R;
import com.android.settings.notification.NotificationBackend.AppRow; import com.android.settings.notification.NotificationBackend.AppRow;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue; import static junit.framework.Assert.assertTrue;

View File

@@ -21,12 +21,19 @@ import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SuppressorHelperTest { public class SuppressorHelperTest {
private static final String SUPPRESSOR_NAME = "wear"; private static final String SUPPRESSOR_NAME = "wear";

View File

@@ -37,6 +37,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.WifiSettings;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
@@ -59,9 +60,14 @@ public class CursorToSearchResultConverterTest {
private static final String TARGET_PACKAGE = "a.b.c"; private static final String TARGET_PACKAGE = "a.b.c";
private static final String TARGET_CLASS = "a.b.c.class"; private static final String TARGET_CLASS = "a.b.c.class";
private static final String KEY = "key"; private static final String KEY = "key";
private static final Intent INTENT = new Intent("com.android.settings");
private static final int ICON = R.drawable.ic_search_24dp; private static final int ICON = R.drawable.ic_search_24dp;
private static final int BASE_RANK = 1; private static final int BASE_RANK = 1;
private static Intent sIntent;
@BeforeClass
public static void beforeClass() {
sIntent = new Intent("com.android.settings");
}
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private SiteMapManager mSiteMapManager; private SiteMapManager mSiteMapManager;
@@ -120,7 +126,7 @@ public class CursorToSearchResultConverterTest {
@Test @Test
public void testParseCursor_MatchesIcon() { public void testParseCursor_MatchesIcon() {
final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent));
final String BLANK = ""; final String BLANK = "";
cursor.addRow(new Object[]{ cursor.addRow(new Object[]{
KEY.hashCode(), // Doc ID KEY.hashCode(), // Doc ID
@@ -171,7 +177,7 @@ public class CursorToSearchResultConverterTest {
@Test @Test
public void testLongTitle_PenalizedInRank() { public void testLongTitle_PenalizedInRank() {
final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); final MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent));
final String BLANK = ""; final String BLANK = "";
cursor.addRow(new Object[]{ cursor.addRow(new Object[]{
KEY.hashCode(), // Doc ID KEY.hashCode(), // Doc ID
@@ -203,7 +209,7 @@ public class CursorToSearchResultConverterTest {
for (SearchResult result : results) { for (SearchResult result : results) {
payload = result.payload; payload = result.payload;
Intent intent = payload.getIntent(); Intent intent = payload.getIntent();
assertThat(intent.getAction()).isEqualTo(INTENT.getAction()); assertThat(intent.getAction()).isEqualTo(sIntent.getAction());
} }
} }
@@ -375,7 +381,7 @@ public class CursorToSearchResultConverterTest {
private MatrixCursor getDummyCursor(String[] keys, String className) { private MatrixCursor getDummyCursor(String[] keys, String className) {
MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS); MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
final String BLANK = ""; final String BLANK = "";
final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(INTENT)); final byte[] payload = ResultPayloadUtils.marshall(new ResultPayload(sIntent));
for (int i = 0; i < keys.length; i++) { for (int i = 0; i < keys.length; i++) {
ArrayList<Object> item = new ArrayList<>(DatabaseResultLoader.SELECT_COLUMNS.length); ArrayList<Object> item = new ArrayList<>(DatabaseResultLoader.SELECT_COLUMNS.length);
@@ -386,7 +392,7 @@ public class CursorToSearchResultConverterTest {
item.add(className); // classname item.add(className); // classname
item.add(BLANK); // screen title item.add(BLANK); // screen title
item.add(null); // Icon item.add(null); // Icon
item.add(INTENT.getAction()); // Intent action item.add(sIntent.getAction()); // Intent action
item.add(TARGET_PACKAGE); // target package item.add(TARGET_PACKAGE); // target package
item.add(TARGET_CLASS); // target class item.add(TARGET_CLASS); // target class
item.add(keys[i]); // Key item.add(keys[i]); // Key

View File

@@ -3,7 +3,6 @@ package com.android.settings.search;
import android.content.Context; import android.content.Context;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Intent; import android.content.Intent;
import android.os.Parcel;
import android.provider.Settings; import android.provider.Settings;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.search.ResultPayload.SettingsSource; import com.android.settings.search.ResultPayload.SettingsSource;

View File

@@ -60,8 +60,8 @@ 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.RuntimeEnvironment;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.util.ActivityController;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
import java.util.Set; import java.util.Set;

View File

@@ -26,8 +26,8 @@ import com.android.settings.testutils.shadow.ShadowEventLogWriter;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.android.controller.FragmentController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.util.FragmentController;
import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
@@ -47,7 +47,7 @@ public class ConfigureKeyGuardDialogTest {
Robolectric.buildFragment(ConfigureKeyGuardDialog.class); Robolectric.buildFragment(ConfigureKeyGuardDialog.class);
final ConfigureKeyGuardDialog fragment = spy(fragmentController.get()); final ConfigureKeyGuardDialog fragment = spy(fragmentController.get());
doNothing().when(fragment).startPasswordSetup(); doNothing().when(fragment).startPasswordSetup();
fragmentController.attach().create().start().resume(); fragmentController.create().start().resume();
fragment.onClick(null /* dialog */, DialogInterface.BUTTON_POSITIVE); fragment.onClick(null /* dialog */, DialogInterface.BUTTON_POSITIVE);
fragment.onDismiss(null /* dialog */); fragment.onDismiss(null /* dialog */);

View File

@@ -17,6 +17,20 @@
package com.android.settings.support; package com.android.settings.support;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PERMANENT_DISMISS_THRESHOLD;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_COMPLETE;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import static org.robolectric.RuntimeEnvironment.application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@@ -33,20 +47,9 @@ import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.res.builder.RobolectricPackageManager; import org.robolectric.shadows.ShadowPackageManager;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PERMANENT_DISMISS_THRESHOLD;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_COMPLETE;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity
.PREF_KEY_SUGGGESTION_FIRST_DISPLAY_TIME;
import static com.android.settings.support.NewDeviceIntroSuggestionActivity.isSuggestionComplete;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -57,14 +60,14 @@ public class NewDeviceIntroSuggestionActivityTest {
private FakeFeatureFactory mFeatureFactory; private FakeFeatureFactory mFeatureFactory;
private Context mContext; private Context mContext;
private RobolectricPackageManager mRobolectricPackageManager; private ShadowPackageManager mShadowPackageManager;
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mFeatureFactory = FakeFeatureFactory.setupForTest(mMockContext); mFeatureFactory = FakeFeatureFactory.setupForTest(mMockContext);
mContext = RuntimeEnvironment.application; mContext = application;
mRobolectricPackageManager = RuntimeEnvironment.getRobolectricPackageManager(); mShadowPackageManager = Shadows.shadowOf(application.getPackageManager());
when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class))) when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class)))
.thenReturn(getSharedPreferences()); .thenReturn(getSharedPreferences());
@@ -115,7 +118,7 @@ public class NewDeviceIntroSuggestionActivityTest {
.thenReturn("https://com.android.settings"); .thenReturn("https://com.android.settings");
final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext); final Intent intent = NewDeviceIntroSuggestionActivity.getLaunchIntent(mContext);
mRobolectricPackageManager.addResolveInfoForIntent(intent, new ResolveInfo()); mShadowPackageManager.addResolveInfoForIntent(intent, new ResolveInfo());
assertThat(isSuggestionComplete(mContext)).isFalse(); assertThat(isSuggestionComplete(mContext)).isFalse();
} }

View File

@@ -19,20 +19,22 @@ package com.android.settings.support;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.RuntimeEnvironment.application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.search.SearchIndexableRaw; import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import java.util.List; import java.util.List;
@@ -45,7 +47,7 @@ public class SupportDashboardActivityTest {
@Before @Before
public void setUp() { public void setUp() {
mContext = RuntimeEnvironment.application; mContext = application;
} }
@Test @Test
@@ -67,10 +69,11 @@ public class SupportDashboardActivityTest {
@Test @Test
public void shouldHandleIntentAction() { public void shouldHandleIntentAction() {
RuntimeEnvironment.getRobolectricPackageManager().setQueryIntentImplicitly(true); PackageManager packageManager = application.getPackageManager();
Shadows.shadowOf(packageManager).setQueryIntentImplicitly(true);
// Intent action used by setup wizard to start support settings // Intent action used by setup wizard to start support settings
Intent intent = new Intent("com.android.settings.action.SUPPORT_SETTINGS"); Intent intent = new Intent("com.android.settings.action.SUPPORT_SETTINGS");
ResolveInfo resolveInfo = RuntimeEnvironment.getPackageManager().resolveActivity( ResolveInfo resolveInfo = packageManager.resolveActivity(
intent, intent,
PackageManager.MATCH_DEFAULT_ONLY); PackageManager.MATCH_DEFAULT_ONLY);
assertThat(resolveInfo).isNotNull(); assertThat(resolveInfo).isNotNull();

View File

@@ -37,7 +37,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
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.internal.Shadow.directlyOn; import static org.robolectric.shadow.api.Shadow.directlyOn;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,

View File

@@ -20,11 +20,11 @@ import android.content.Intent;
import org.junit.runners.model.InitializationError; import org.junit.runners.model.InitializationError;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.manifest.AndroidManifest; import org.robolectric.manifest.AndroidManifest;
import org.robolectric.res.Fs; import org.robolectric.res.Fs;
import org.robolectric.res.ResourcePath; import org.robolectric.res.ResourcePath;
import org.robolectric.util.ActivityController;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
import java.util.List; import java.util.List;
@@ -79,35 +79,35 @@ public class SettingsRobolectricTestRunner extends RobolectricTestRunner {
public static void getIncludedResourcePaths(String packageName, List<ResourcePath> paths) { public static void getIncludedResourcePaths(String packageName, List<ResourcePath> paths) {
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./packages/apps/Settings/res"), Fs.fileFromPath("./packages/apps/Settings/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/base/packages/SettingsLib/res"), Fs.fileFromPath("./frameworks/base/packages/SettingsLib/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/base/core/res/res"), Fs.fileFromPath("./frameworks/base/core/res/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/opt/setupwizard/library/main/res"), Fs.fileFromPath("./frameworks/opt/setupwizard/library/main/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/opt/setupwizard/library/gingerbread/res"), Fs.fileFromPath("./frameworks/opt/setupwizard/library/gingerbread/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/opt/setupwizard/library/recyclerview/res"), Fs.fileFromPath("./frameworks/opt/setupwizard/library/recyclerview/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/support/v7/appcompat/res"), Fs.fileFromPath("./frameworks/support/v7/appcompat/res"),
null)); null));
paths.add(new ResourcePath( paths.add(new ResourcePath(
packageName, null,
Fs.fileFromPath("./frameworks/support/v7/cardview/res"), Fs.fileFromPath("./frameworks/support/v7/cardview/res"),
null)); null));
} }

View File

@@ -4,7 +4,7 @@ import static android.util.TypedValue.TYPE_REFERENCE;
import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.RuntimeEnvironment.application;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
import static org.robolectric.internal.Shadow.directlyOn; import static org.robolectric.shadow.api.Shadow.directlyOn;
import android.annotation.DimenRes; import android.annotation.DimenRes;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
@@ -25,13 +25,13 @@ import android.util.TypedValue;
import com.android.settings.R; import com.android.settings.R;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.android.XmlResourceParserImpl;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.annotation.RealObject; import org.robolectric.annotation.RealObject;
import org.robolectric.internal.Shadow;
import org.robolectric.res.StyleData; import org.robolectric.res.StyleData;
import org.robolectric.res.StyleResolver; import org.robolectric.res.StyleResolver;
import org.robolectric.res.builder.XmlResourceParserImpl; import org.robolectric.res.ThemeStyleSet;
import org.robolectric.shadows.ShadowAssetManager; import org.robolectric.shadows.ShadowAssetManager;
import org.robolectric.shadows.ShadowResources; import org.robolectric.shadows.ShadowResources;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@@ -133,7 +133,7 @@ public class SettingsShadowResources extends ShadowResources {
if (override instanceof String) { if (override instanceof String) {
return (String) override; return (String) override;
} }
return Shadow.directlyOn( return directlyOn(
realResources, Resources.class, "getString", ClassParameter.from(int.class, id)); realResources, Resources.class, "getString", ClassParameter.from(int.class, id));
} }
@@ -143,7 +143,7 @@ public class SettingsShadowResources extends ShadowResources {
if (override instanceof Integer) { if (override instanceof Integer) {
return (Integer) override; return (Integer) override;
} }
return Shadow.directlyOn( return directlyOn(
realResources, Resources.class, "getInteger", ClassParameter.from(int.class, id)); realResources, Resources.class, "getInteger", ClassParameter.from(int.class, id));
} }
@@ -153,7 +153,7 @@ public class SettingsShadowResources extends ShadowResources {
if (override instanceof Boolean) { if (override instanceof Boolean) {
return (boolean) override; return (boolean) override;
} }
return Shadow.directlyOn(realResources, Resources.class, "getBoolean", return directlyOn(realResources, Resources.class, "getBoolean",
ClassParameter.from(int.class, id)); ClassParameter.from(int.class, id));
} }
@@ -184,13 +184,16 @@ public class SettingsShadowResources extends ShadowResources {
// Track down all styles and remove all inheritance from private styles. // Track down all styles and remove all inheritance from private styles.
ShadowAssetManager assetManager = shadowOf(RuntimeEnvironment.application.getAssets()); ShadowAssetManager assetManager = shadowOf(RuntimeEnvironment.application.getAssets());
// The Object's below are actually ShadowAssetManager.OverlayedStyle. We can't use it Map<Long, Object /* NativeTheme */> appliedStylesList =
// here because it's package private. ReflectionHelpers.getField(assetManager, "nativeThemes");
Map<Long, List<Object>> appliedStylesList =
ReflectionHelpers.getField(assetManager, "appliedStyles");
for (Long idx : appliedStylesList.keySet()) { for (Long idx : appliedStylesList.keySet()) {
List<Object> appliedStyles = appliedStylesList.get(idx); ThemeStyleSet appliedStyles = ReflectionHelpers.getField(
for (Object appliedStyle : appliedStyles) { appliedStylesList.get(idx), "themeStyleSet");
// The Object's below are actually ShadowAssetManager.OverlayedStyle. We can't use
// it here because it's private.
List<Object /* OverlayedStyle */> overlayedStyles =
ReflectionHelpers.getField(appliedStyles, "styles");
for (Object appliedStyle : overlayedStyles) {
StyleResolver styleResolver = ReflectionHelpers.getField(appliedStyle, "style"); StyleResolver styleResolver = ReflectionHelpers.getField(appliedStyle, "style");
List<StyleData> styleDatas = List<StyleData> styleDatas =
ReflectionHelpers.getField(styleResolver, "styles"); ReflectionHelpers.getField(styleResolver, "styles");
@@ -223,5 +226,9 @@ public class SettingsShadowResources extends ShadowResources {
return directlyOn(realTheme, Theme.class) return directlyOn(realTheme, Theme.class)
.resolveAttribute(resid, outValue, resolveRefs); .resolveAttribute(resid, outValue, resolveRefs);
} }
private Resources getResources() {
return ReflectionHelpers.callInstanceMethod(ShadowTheme.class, this, "getResources");
}
} }
} }

View File

@@ -25,7 +25,7 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.annotation.Resetter; import org.robolectric.annotation.Resetter;
import org.robolectric.internal.ShadowExtractor; import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowContextImpl; import org.robolectric.shadows.ShadowContextImpl;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@@ -96,7 +96,7 @@ public class ShadowFingerprintManager {
} }
public static ShadowFingerprintManager get() { public static ShadowFingerprintManager get() {
return (ShadowFingerprintManager) ShadowExtractor.extract( return (ShadowFingerprintManager) Shadow.extract(
RuntimeEnvironment.application.getSystemService(FingerprintManager.class)); RuntimeEnvironment.application.getSystemService(FingerprintManager.class));
} }
} }

View File

@@ -28,8 +28,7 @@ import com.android.internal.os.BackgroundThread;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.annotation.RealObject; import org.robolectric.annotation.RealObject;
import org.robolectric.internal.Shadow; import org.robolectric.shadow.api.Shadow;
import org.robolectric.internal.ShadowExtractor;
import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowApplication;
import org.robolectric.shadows.ShadowMessageQueue; import org.robolectric.shadows.ShadowMessageQueue;
@@ -56,8 +55,8 @@ public class ShadowPackageMonitor {
} }
private static void setupBackgroundThreadScheduler() { private static void setupBackgroundThreadScheduler() {
ShadowMessageQueue shadowMessageQueue = ((ShadowMessageQueue) ShadowExtractor.extract( ShadowMessageQueue shadowMessageQueue = Shadow.extract(
BackgroundThread.getHandler().getLooper().getQueue())); BackgroundThread.getHandler().getLooper().getQueue());
shadowMessageQueue.setScheduler( shadowMessageQueue.setScheduler(
ShadowApplication.getInstance().getBackgroundThreadScheduler()); ShadowApplication.getInstance().getBackgroundThreadScheduler());
} }

View File

@@ -25,7 +25,7 @@ import android.util.SparseArray;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements; import org.robolectric.annotation.Implements;
import org.robolectric.internal.ShadowExtractor; import org.robolectric.shadow.api.Shadow;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@@ -63,7 +63,7 @@ public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager
} }
public static ShadowUserManager getShadow() { public static ShadowUserManager getShadow() {
return (ShadowUserManager) ShadowExtractor.extract( return (ShadowUserManager) Shadow.extract(
RuntimeEnvironment.application.getSystemService(UserManager.class)); RuntimeEnvironment.application.getSystemService(UserManager.class));
} }
} }

View File

@@ -30,9 +30,9 @@ import org.junit.runner.RunWith;
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.android.controller.ActivityController;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowActivity;
import org.robolectric.util.ActivityController;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;

View File

@@ -36,6 +36,7 @@ import com.android.settings.wrapper.UserPackageWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper; import com.android.settingslib.wrapper.PackageManagerWrapper;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
@@ -66,11 +67,17 @@ import static org.mockito.Mockito.when;
public class WebViewAppPickerTest { public class WebViewAppPickerTest {
private Context mContext = RuntimeEnvironment.application; private Context mContext = RuntimeEnvironment.application;
private final static UserInfo FIRST_USER = new UserInfo(0, "FIRST_USER", 0); private static UserInfo sFirstUser;
private final static UserInfo SECOND_USER = new UserInfo(0, "SECOND_USER", 0); private static UserInfo sSecondUser;
private final static String DEFAULT_PACKAGE_NAME = "DEFAULT_PACKAGE_NAME"; private final static String DEFAULT_PACKAGE_NAME = "DEFAULT_PACKAGE_NAME";
@BeforeClass
public static void beforeClass() {
sFirstUser = new UserInfo(0, "FIRST_USER", 0);
sSecondUser = new UserInfo(0, "SECOND_USER", 0);
}
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Activity mActivity; private Activity mActivity;
@Mock @Mock
@@ -261,14 +268,14 @@ public class WebViewAppPickerTest {
UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class);
when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
when(packageForFirstUser.isInstalledPackage()).thenReturn(true); when(packageForFirstUser.isInstalledPackage()).thenReturn(true);
when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser);
WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME)))
.thenReturn(Arrays.asList(packageForFirstUser)); .thenReturn(Arrays.asList(packageForFirstUser));
final String EXPECTED_DISABLED_REASON = String.format( final String EXPECTED_DISABLED_REASON = String.format(
"(disabled for user %s)", FIRST_USER.name); "(disabled for user %s)", sFirstUser.name);
assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, assertThat(mPicker.getDisabledReason(wvusWrapper, mContext,
DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON);
} }
@@ -278,14 +285,14 @@ public class WebViewAppPickerTest {
UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class);
when(packageForFirstUser.isEnabledPackage()).thenReturn(true); when(packageForFirstUser.isEnabledPackage()).thenReturn(true);
when(packageForFirstUser.isInstalledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(false);
when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser);
WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME)))
.thenReturn(Arrays.asList(packageForFirstUser)); .thenReturn(Arrays.asList(packageForFirstUser));
final String EXPECTED_DISABLED_REASON = String.format( final String EXPECTED_DISABLED_REASON = String.format(
"(uninstalled for user %s)", FIRST_USER.name); "(uninstalled for user %s)", sFirstUser.name);
assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, assertThat(mPicker.getDisabledReason(wvusWrapper, mContext,
DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON);
} }
@@ -295,19 +302,19 @@ public class WebViewAppPickerTest {
UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class);
when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
when(packageForFirstUser.isInstalledPackage()).thenReturn(true); when(packageForFirstUser.isInstalledPackage()).thenReturn(true);
when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser);
UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class);
when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isEnabledPackage()).thenReturn(true);
when(packageForSecondUser.isInstalledPackage()).thenReturn(false); when(packageForSecondUser.isInstalledPackage()).thenReturn(false);
when(packageForSecondUser.getUserInfo()).thenReturn(SECOND_USER); when(packageForSecondUser.getUserInfo()).thenReturn(sSecondUser);
WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME)))
.thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser));
final String EXPECTED_DISABLED_REASON = String.format( final String EXPECTED_DISABLED_REASON = String.format(
"(disabled for user %s)", FIRST_USER.name); "(disabled for user %s)", sFirstUser.name);
assertThat(mPicker.getDisabledReason( assertThat(mPicker.getDisabledReason(
wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON);
} }
@@ -321,19 +328,19 @@ public class WebViewAppPickerTest {
UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class);
when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isEnabledPackage()).thenReturn(false);
when(packageForFirstUser.isInstalledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(false);
when(packageForFirstUser.getUserInfo()).thenReturn(FIRST_USER); when(packageForFirstUser.getUserInfo()).thenReturn(sFirstUser);
UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class);
when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isEnabledPackage()).thenReturn(true);
when(packageForSecondUser.isInstalledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(true);
when(packageForSecondUser.getUserInfo()).thenReturn(SECOND_USER); when(packageForSecondUser.getUserInfo()).thenReturn(sSecondUser);
WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class);
when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME)))
.thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser));
final String EXPECTED_DISABLED_REASON = String.format( final String EXPECTED_DISABLED_REASON = String.format(
"(uninstalled for user %s)", FIRST_USER.name); "(uninstalled for user %s)", sFirstUser.name);
assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, assertThat(mPicker.getDisabledReason(wvusWrapper, mContext,
DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON); DEFAULT_PACKAGE_NAME)).isEqualTo(EXPECTED_DISABLED_REASON);
} }

View File

@@ -44,6 +44,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import org.junit.Before; import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
@@ -59,12 +60,16 @@ import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class UseOpenWifiPreferenceControllerTest { public class UseOpenWifiPreferenceControllerTest {
private static ComponentName ENABLE_ACTIVITY_COMPONENT = private static ComponentName sEnableActivityComponent;
new ComponentName("package", "activityClass"); private static NetworkScorerAppData sAppData;
private static NetworkScorerAppData APP_DATA = private static NetworkScorerAppData sAppDataNoActivity;
new NetworkScorerAppData(0, null, null, ENABLE_ACTIVITY_COMPONENT, null);
private static NetworkScorerAppData APP_DATA_NO_ACTIVITY = @BeforeClass
new NetworkScorerAppData(0, null, null, null, null); public static void beforeClass() {
sEnableActivityComponent = new ComponentName("package", "activityClass");
sAppData = new NetworkScorerAppData(0, null, null, sEnableActivityComponent, null);
sAppDataNoActivity = new NetworkScorerAppData(0, null, null, null, null);
}
@Mock private Lifecycle mLifecycle; @Mock private Lifecycle mLifecycle;
@Mock private Fragment mFragment; @Mock private Fragment mFragment;
@@ -92,7 +97,7 @@ public class UseOpenWifiPreferenceControllerTest {
*/ */
private void setupScorers(@NonNull List<NetworkScorerAppData> scorers) { private void setupScorers(@NonNull List<NetworkScorerAppData> scorers) {
when(mNetworkScoreManagerWrapper.getActiveScorerPackage()).thenReturn( when(mNetworkScoreManagerWrapper.getActiveScorerPackage()).thenReturn(
ENABLE_ACTIVITY_COMPONENT.getPackageName()); sEnableActivityComponent.getPackageName());
when(mNetworkScoreManagerWrapper.getAllValidScorers()).thenReturn(scorers); when(mNetworkScoreManagerWrapper.getAllValidScorers()).thenReturn(scorers);
when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(scorers.get(0)); when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(scorers.get(0));
} }
@@ -106,7 +111,7 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void testIsAvailable_returnsFalseWhenScorersNotSupported() { public void testIsAvailable_returnsFalseWhenScorersNotSupported() {
setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppDataNoActivity));
createController(); createController();
assertThat(mController.isAvailable()).isFalse(); assertThat(mController.isAvailable()).isFalse();
@@ -114,7 +119,7 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void testIsAvailable_returnsTrueIfActiveScorerSupported() { public void testIsAvailable_returnsTrueIfActiveScorerSupported() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
assertThat(mController.isAvailable()).isTrue(); assertThat(mController.isAvailable()).isTrue();
@@ -122,8 +127,8 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void testIsAvailable_returnsTrueIfNonActiveScorerSupported() { public void testIsAvailable_returnsTrueIfNonActiveScorerSupported() {
setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY, APP_DATA)); setupScorers(Lists.newArrayList(sAppDataNoActivity, sAppData));
when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(APP_DATA_NO_ACTIVITY); when(mNetworkScoreManagerWrapper.getActiveScorer()).thenReturn(sAppDataNoActivity);
createController(); createController();
assertThat(mController.isAvailable()).isTrue(); assertThat(mController.isAvailable()).isTrue();
@@ -150,7 +155,7 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void onPreferenceChange_matchingKeyAndAvailable_enableShouldStartEnableActivity() { public void onPreferenceChange_matchingKeyAndAvailable_enableShouldStartEnableActivity() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
final SwitchPreference pref = new SwitchPreference(mContext); final SwitchPreference pref = new SwitchPreference(mContext);
@@ -160,15 +165,15 @@ public class UseOpenWifiPreferenceControllerTest {
verify(mFragment).startActivityForResult(mIntentCaptor.capture(), verify(mFragment).startActivityForResult(mIntentCaptor.capture(),
eq(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY)); eq(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY));
Intent activityIntent = mIntentCaptor.getValue(); Intent activityIntent = mIntentCaptor.getValue();
assertThat(activityIntent.getComponent()).isEqualTo(ENABLE_ACTIVITY_COMPONENT); assertThat(activityIntent.getComponent()).isEqualTo(sEnableActivityComponent);
assertThat(activityIntent.getAction()).isEqualTo(NetworkScoreManager.ACTION_CUSTOM_ENABLE); assertThat(activityIntent.getAction()).isEqualTo(NetworkScoreManager.ACTION_CUSTOM_ENABLE);
} }
@Test @Test
public void onPreferenceChange_matchingKeyAndAvailable_disableShouldUpdateSetting() { public void onPreferenceChange_matchingKeyAndAvailable_disableShouldUpdateSetting() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE,
ENABLE_ACTIVITY_COMPONENT.getPackageName()); sEnableActivityComponent.getPackageName());
createController(); createController();
@@ -182,7 +187,7 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void onActivityResult_nonmatchingRequestCode_shouldDoNothing() { public void onActivityResult_nonmatchingRequestCode_shouldDoNothing() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
assertThat(mController.onActivityResult(234 /* requestCode */ , Activity.RESULT_OK)) assertThat(mController.onActivityResult(234 /* requestCode */ , Activity.RESULT_OK))
@@ -193,7 +198,7 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void onActivityResult_matchingRequestCode_nonOkResult_shouldDoNothing() { public void onActivityResult_matchingRequestCode_nonOkResult_shouldDoNothing() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
assertThat(mController assertThat(mController
@@ -205,24 +210,24 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void onActivityResult_matchingRequestCode_okResult_updatesSetting() { public void onActivityResult_matchingRequestCode_okResult_updatesSetting() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
assertThat(mController assertThat(mController
.onActivityResult(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY, Activity.RESULT_OK)) .onActivityResult(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY, Activity.RESULT_OK))
.isEqualTo(true); .isEqualTo(true);
assertThat(Settings.Global.getString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE)) assertThat(Settings.Global.getString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE))
.isEqualTo(ENABLE_ACTIVITY_COMPONENT.getPackageName()); .isEqualTo(sEnableActivityComponent.getPackageName());
} }
@Test @Test
public void updateState_noEnableActivity_preferenceDisabled_summaryChanged() { public void updateState_noEnableActivity_preferenceDisabled_summaryChanged() {
setupScorers(Lists.newArrayList(APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppDataNoActivity));
createController(); createController();
final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class);
Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE,
ENABLE_ACTIVITY_COMPONENT.getPackageName()); sEnableActivityComponent.getPackageName());
mController.updateState(preference); mController.updateState(preference);
@@ -238,7 +243,7 @@ public class UseOpenWifiPreferenceControllerTest {
final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class);
Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE,
ENABLE_ACTIVITY_COMPONENT.getPackageName()); sEnableActivityComponent.getPackageName());
mController.updateState(preference); mController.updateState(preference);
@@ -249,12 +254,12 @@ public class UseOpenWifiPreferenceControllerTest {
@Test @Test
public void updateState_enableActivityExists_preferenceEnabled() { public void updateState_enableActivityExists_preferenceEnabled() {
setupScorers(Lists.newArrayList(APP_DATA, APP_DATA_NO_ACTIVITY)); setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
createController(); createController();
final SwitchPreference preference = mock(SwitchPreference.class); final SwitchPreference preference = mock(SwitchPreference.class);
Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE, Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE,
ENABLE_ACTIVITY_COMPONENT.getPackageName()); sEnableActivityComponent.getPackageName());
mController.updateState(preference); mController.updateState(preference);

View File

@@ -23,7 +23,6 @@ import static android.provider.Settings.Global.WIFI_WAKEUP_ENABLED;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.provider.Settings; import android.provider.Settings;
@@ -34,14 +33,12 @@ import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.wrapper.NetworkScoreManagerWrapper;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.After; import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;