Search in sources :

Example 6 with SdkConfig

use of org.robolectric.internal.SdkConfig in project robolectric by robolectric.

the class SdkPickerTest method shouldClipSdkRangeFromAndroidManifest.

@Test
public void shouldClipSdkRangeFromAndroidManifest() throws Exception {
    when(appManifest.getTargetSdkVersion()).thenReturn(1);
    when(appManifest.getMinSdkVersion()).thenReturn(1);
    when(appManifest.getMaxSdkVersion()).thenReturn(null);
    assertThat(sdkPicker.selectSdks(new Config.Builder().build(), appManifest)).containsExactly(new SdkConfig(16));
}
Also used : SdkConfig(org.robolectric.internal.SdkConfig) Test(org.junit.Test)

Example 7 with SdkConfig

use of org.robolectric.internal.SdkConfig in project robolectric by robolectric.

the class SdkPicker method configuredSdks.

protected Set<SdkConfig> configuredSdks(Config config, AndroidManifest appManifest) {
    int appMinSdk = Math.max(appManifest.getMinSdkVersion(), minSupportedSdk.getApiLevel());
    int appTargetSdk = Math.max(appManifest.getTargetSdkVersion(), minSupportedSdk.getApiLevel());
    Integer appMaxSdk = appManifest.getMaxSdkVersion();
    if (appMaxSdk == null) {
        appMaxSdk = maxSupportedSdk.getApiLevel();
    }
    // For min/max SDK ranges...
    int minSdk = config.minSdk();
    int maxSdk = config.maxSdk();
    if (minSdk != -1 || maxSdk != -1) {
        int rangeMin = decodeSdk(minSdk, appMinSdk, appMinSdk, appTargetSdk, appMaxSdk);
        int rangeMax = decodeSdk(maxSdk, appMaxSdk, appMinSdk, appTargetSdk, appMaxSdk);
        if (rangeMin > rangeMax && (minSdk == -1 || maxSdk == -1)) {
            return Collections.emptySet();
        }
        return sdkRange(rangeMin, rangeMax);
    }
    // For explicitly-enumerated SDKs...
    if (config.sdk().length == 0) {
        return Collections.singleton(new SdkConfig(appTargetSdk));
    }
    if (config.sdk().length == 1 && config.sdk()[0] == Config.ALL_SDKS) {
        return sdkRange(appMinSdk, appMaxSdk);
    }
    Set<SdkConfig> sdkConfigs = new HashSet<>();
    for (int sdk : config.sdk()) {
        int decodedApiLevel = decodeSdk(sdk, appTargetSdk, appMinSdk, appTargetSdk, appMaxSdk);
        sdkConfigs.add(new SdkConfig(decodedApiLevel));
    }
    return sdkConfigs;
}
Also used : SdkConfig(org.robolectric.internal.SdkConfig) HashSet(java.util.HashSet)

Example 8 with SdkConfig

use of org.robolectric.internal.SdkConfig in project robolectric by robolectric.

the class ParallelUniverseTest method setUp.

@Before
public void setUp() throws InitializationError {
    pu = new ParallelUniverse();
    pu.setSdkConfig(new SdkConfig(18));
}
Also used : ParallelUniverse(org.robolectric.android.internal.ParallelUniverse) SdkConfig(org.robolectric.internal.SdkConfig) Before(org.junit.Before)

Example 9 with SdkConfig

use of org.robolectric.internal.SdkConfig in project robolectric by robolectric.

the class SdkPickerTest method withDefaultSdkConfig_shouldUseTargetSdkFromAndroidManifest.

@Test
public void withDefaultSdkConfig_shouldUseTargetSdkFromAndroidManifest() throws Exception {
    when(appManifest.getTargetSdkVersion()).thenReturn(22);
    assertThat(sdkPicker.selectSdks(new Config.Builder().build(), appManifest)).containsExactly(new SdkConfig(22));
}
Also used : SdkConfig(org.robolectric.internal.SdkConfig) Test(org.junit.Test)

Example 10 with SdkConfig

use of org.robolectric.internal.SdkConfig in project robolectric by robolectric.

the class SdkPickerTest method withMinSdkConfig_shouldClipSdkRangeFromAndroidManifest.

@Test
public void withMinSdkConfig_shouldClipSdkRangeFromAndroidManifest() throws Exception {
    when(appManifest.getTargetSdkVersion()).thenReturn(22);
    when(appManifest.getMinSdkVersion()).thenReturn(19);
    when(appManifest.getMaxSdkVersion()).thenReturn(23);
    assertThat(sdkPicker.selectSdks(new Config.Builder().setMinSdk(21).build(), appManifest)).containsExactly(new SdkConfig(21), new SdkConfig(22), new SdkConfig(23));
}
Also used : Config(org.robolectric.annotation.Config) SdkConfig(org.robolectric.internal.SdkConfig) SdkConfig(org.robolectric.internal.SdkConfig) Test(org.junit.Test)

Aggregations

SdkConfig (org.robolectric.internal.SdkConfig)14 Test (org.junit.Test)11 Config (org.robolectric.annotation.Config)9 Method (java.lang.reflect.Method)1 HashSet (java.util.HashSet)1 Before (org.junit.Before)1 R (org.robolectric.R)1 RobolectricFrameworkMethod (org.robolectric.RobolectricTestRunner.RobolectricFrameworkMethod)1 ParallelUniverse (org.robolectric.android.internal.ParallelUniverse)1 MavenDependencyResolver (org.robolectric.internal.dependency.MavenDependencyResolver)1 AndroidManifest (org.robolectric.manifest.AndroidManifest)1 Fs (org.robolectric.res.Fs)1 ResourcePath (org.robolectric.res.ResourcePath)1