1package org.robolectric.shadows; 2 3import static android.os.Build.VERSION_CODES.M; 4import static org.assertj.core.api.Assertions.assertThat; 5import static org.robolectric.Shadows.shadowOf; 6 7import android.graphics.Bitmap; 8import android.graphics.drawable.Icon; 9import android.net.Uri; 10import org.junit.Test; 11import org.junit.runner.RunWith; 12import org.robolectric.RobolectricTestRunner; 13import org.robolectric.RuntimeEnvironment; 14import org.robolectric.annotation.Config; 15 16@RunWith(RobolectricTestRunner.class) 17@Config(minSdk = M) 18public class ShadowIconTest { 19 public static final int TYPE_BITMAP = 1; 20 public static final int TYPE_RESOURCE = 2; 21 public static final int TYPE_DATA = 3; 22 public static final int TYPE_URI = 4; 23 24 @Test 25 public void testGetRes() { 26 Icon icon = Icon.createWithResource(RuntimeEnvironment.application, android.R.drawable.ic_delete); 27 assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_RESOURCE); 28 assertThat(shadowOf(icon).getResId()).isEqualTo(android.R.drawable.ic_delete); 29 } 30 31 @Test 32 public void testGetBitmap() { 33 Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); 34 Icon icon = Icon.createWithBitmap(bitmap); 35 assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_BITMAP); 36 assertThat(shadowOf(icon).getBitmap()).isEqualTo(bitmap); 37 } 38 39 @Test 40 public void testGetData() { 41 byte[] data = new byte[1000]; 42 Icon icon = Icon.createWithData(data, 100, 200); 43 assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_DATA); 44 assertThat(shadowOf(icon).getDataBytes()).isEqualTo(data); 45 assertThat(shadowOf(icon).getDataOffset()).isEqualTo(100); 46 assertThat(shadowOf(icon).getDataLength()).isEqualTo(200); 47 } 48 49 @Test 50 public void testGetUri() { 51 Uri uri = Uri.parse("content://icons/icon"); 52 Icon icon = Icon.createWithContentUri(uri); 53 assertThat(shadowOf(icon).getType()).isEqualTo(TYPE_URI); 54 assertThat(shadowOf(icon).getUri()).isEqualTo(uri); 55 } 56} 57