blob: 0411a6742a3a292c1fbfbfe891b4518962ca7b2e [file] [log] [blame]
package org.robolectric.shadows;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.fail;
import android.app.ActivityThread;
import android.content.res.CompatibilityInfo;
import android.os.Build;
import android.os.RemoteException;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
public class ShadowActivityThreadTest {
private ActivityThread activityThread;
@Before
public void setUp() {
activityThread = (ActivityThread) RuntimeEnvironment.getActivityThread();
}
@Test
@Config(maxSdk = Build.VERSION_CODES.M)
public void getPackageInfo_returnsNullWhenNotFound() throws Exception {
assertThat(
activityThread.getPackageInfo(
"com.unknownpackage.ab", CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, 0))
.isNull();
}
@Test
@Config(minSdk = Build.VERSION_CODES.N_MR1)
public void getPackageInfo_throwsRemoteExceptionWhenNotFound() throws Exception {
try {
activityThread.getPackageInfo(
"com.unknownpackage.ab", CompatibilityInfo.DEFAULT_COMPATIBILITY_INFO, 0);
fail("should have thrown");
} catch (RuntimeException e) {
assertThat(e).hasCauseInstanceOf(RemoteException.class);
}
}
}