blob: bf9a010c260ef97a0acc62bd99df1cd0fb302178 [file] [log] [blame]
package org.robolectric;
import android.os.Build;
import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
import org.junit.runners.model.InitializationError;
import org.robolectric.annotation.Config;
import org.robolectric.pluginapi.Sdk;
import org.robolectric.pluginapi.SdkPicker;
import org.robolectric.pluginapi.UsesSdk;
import org.robolectric.util.TestUtil;
import org.robolectric.util.inject.Injector;
class SingleSdkRobolectricTestRunner extends RobolectricTestRunner {
private static final Injector INJECTOR =
defaultInjector().bind(SdkPicker.class, SingleSdkPicker.class).build();
SingleSdkRobolectricTestRunner(Class<?> testClass) throws InitializationError {
super(testClass, INJECTOR);
}
@Override
ResourcesMode getResourcesMode() {
return ResourcesMode.binary;
}
public static class SingleSdkPicker implements SdkPicker {
private final Sdk sdk;
public SingleSdkPicker() {
this(Build.VERSION_CODES.P);
}
SingleSdkPicker(int apiLevel) {
this.sdk = TestUtil.getSdkCollection().getSdk(apiLevel);
}
@Nonnull
@Override
public List<Sdk> selectSdks(Config config, UsesSdk usesSdk) {
return Collections.singletonList(sdk);
}
}
}