Merge "Update to Robolectric 3.4.2"
This commit is contained in:
commit
1ae463059c
|
@ -38,8 +38,8 @@ android.sourceSets {
|
||||||
java.srcDirs = ['test/robotest/src']
|
java.srcDirs = ['test/robotest/src']
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testCompile 'org.robolectric:robolectric:3.+'
|
testCompile 'org.robolectric:robolectric:3.4.2'
|
||||||
testCompile 'org.robolectric:shadows-core:3.+'
|
testCompile 'org.robolectric:framework:3.4.2'
|
||||||
testCompile 'junit:junit:4.+'
|
testCompile 'junit:junit:4.+'
|
||||||
testCompile 'org.mockito:mockito-core:1.9.5'
|
testCompile 'org.mockito:mockito-core:1.9.5'
|
||||||
// Workaround for https://github.com/robolectric/robolectric/issues/2566
|
// Workaround for https://github.com/robolectric/robolectric/issues/2566
|
||||||
|
|
|
@ -31,6 +31,7 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Build.VERSION;
|
import android.os.Build.VERSION;
|
||||||
|
@ -40,20 +41,25 @@ import com.android.setupwizardlib.BuildConfig;
|
||||||
import com.android.setupwizardlib.R;
|
import com.android.setupwizardlib.R;
|
||||||
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
|
import com.android.setupwizardlib.robolectric.SuwLibRobolectricTestRunner;
|
||||||
import com.android.setupwizardlib.util.Partner.ResourceEntry;
|
import com.android.setupwizardlib.util.Partner.ResourceEntry;
|
||||||
|
import com.android.setupwizardlib.util.PartnerTest.ShadowApplicationPackageManager;
|
||||||
|
|
||||||
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 org.robolectric.res.builder.DefaultPackageManager;
|
import org.robolectric.annotation.Implementation;
|
||||||
|
import org.robolectric.annotation.Implements;
|
||||||
import org.robolectric.shadows.ShadowResources;
|
import org.robolectric.shadows.ShadowResources;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
@RunWith(SuwLibRobolectricTestRunner.class)
|
@RunWith(SuwLibRobolectricTestRunner.class)
|
||||||
@Config(constants = BuildConfig.class, sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK })
|
@Config(
|
||||||
|
constants = BuildConfig.class,
|
||||||
|
sdk = { Config.OLDEST_SDK, Config.NEWEST_SDK },
|
||||||
|
shadows = ShadowApplicationPackageManager.class)
|
||||||
public class PartnerTest {
|
public class PartnerTest {
|
||||||
|
|
||||||
private static final String ACTION_PARTNER_CUSTOMIZATION =
|
private static final String ACTION_PARTNER_CUSTOMIZATION =
|
||||||
|
@ -62,7 +68,7 @@ public class PartnerTest {
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private Resources mPartnerResources;
|
private Resources mPartnerResources;
|
||||||
|
|
||||||
private TestPackageManager mPackageManager;
|
private ShadowApplicationPackageManager mPackageManager;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
|
@ -71,8 +77,9 @@ public class PartnerTest {
|
||||||
mContext = spy(application);
|
mContext = spy(application);
|
||||||
mPartnerResources = spy(ShadowResources.getSystem());
|
mPartnerResources = spy(ShadowResources.getSystem());
|
||||||
|
|
||||||
mPackageManager = new TestPackageManager();
|
mPackageManager =
|
||||||
RuntimeEnvironment.setRobolectricPackageManager(mPackageManager);
|
(ShadowApplicationPackageManager) Shadows.shadowOf(application.getPackageManager());
|
||||||
|
mPackageManager.partnerResources = mPartnerResources;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -173,13 +180,18 @@ public class PartnerTest {
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestPackageManager extends DefaultPackageManager {
|
@Implements(className = "android.app.ApplicationPackageManager")
|
||||||
|
public static class ShadowApplicationPackageManager extends
|
||||||
|
org.robolectric.shadows.ShadowApplicationPackageManager {
|
||||||
|
|
||||||
|
public Resources partnerResources;
|
||||||
|
|
||||||
|
@Implementation
|
||||||
@Override
|
@Override
|
||||||
public Resources getResourcesForApplication(ApplicationInfo app)
|
public Resources getResourcesForApplication(ApplicationInfo app)
|
||||||
throws NameNotFoundException {
|
throws NameNotFoundException {
|
||||||
if (app != null && "test.partner.package".equals(app.packageName)) {
|
if (app != null && "test.partner.package".equals(app.packageName)) {
|
||||||
return mPartnerResources;
|
return partnerResources;
|
||||||
} else {
|
} else {
|
||||||
return super.getResourcesForApplication(app);
|
return super.getResourcesForApplication(app);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ 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.RealObject;
|
import org.robolectric.annotation.RealObject;
|
||||||
import org.robolectric.internal.Shadow;
|
import org.robolectric.shadow.api.Shadow;
|
||||||
import org.robolectric.shadows.ShadowMediaPlayer;
|
import org.robolectric.shadows.ShadowMediaPlayer;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue