@Test public void reset__shouldClearStaticState() throws Exception { String src = "source1"; ShadowDrawable.addCorruptStreamSource(src); assertTrue(ShadowDrawable.corruptStreamSources.contains(src)); ShadowDrawable.clearCorruptStreamSources(); assertFalse(ShadowDrawable.corruptStreamSources.contains(src)); }
@Test public void getDrawableResourceId_shouldWorkWhenTheDrawableWasCreatedFromAResource() throws Exception { Resources resources = ApplicationProvider.getApplicationContext().getResources(); Bitmap bitmap = BitmapFactory.decodeResource(resources, R.drawable.an_image); ImageView imageView = new ImageView(ApplicationProvider.getApplicationContext()); imageView.setImageBitmap(bitmap); imageView.setImageResource(R.drawable.an_image); assertThat(shadowOf(imageView.getDrawable()).getCreatedFromResId()).isEqualTo(R.drawable.an_image); } }
@Test public void testCreateFromResourceId_shouldSetTheId() throws Exception { Drawable drawable = ShadowDrawable.createFromResourceId(34758); ShadowDrawable shadowDrawable = shadowOf(drawable); assertThat(shadowDrawable.getCreatedFromResId()).isEqualTo(34758); }
@Test public void createFromStream__shouldReturnNullWhenAskedToCreateADrawableFromACorruptedSourceStream() throws Exception { String corruptedStreamSource = "http://foo.com/image.jpg"; ShadowDrawable.addCorruptStreamSource(corruptedStreamSource); assertNull(ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), corruptedStreamSource)); }
ShadowDialog.reset(); if (org.robolectric.RuntimeEnvironment.getApiLevel() >= 17) ShadowDisplayManagerGlobal.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowEventLog.clearAll();
@Test public void testWasSelfInvalidated() throws Exception { Drawable drawable = ShadowDrawable.createFromResourceId(34758); ShadowDrawable shadowDrawable = shadowOf(drawable); assertThat(shadowDrawable.wasInvalidated()).isFalse(); drawable.invalidateSelf(); assertThat(shadowDrawable.wasInvalidated()).isTrue(); }
@Test public void copyBoundsWithPassedRect() { Drawable drawable = ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), "my_source"); drawable.setBounds(1, 2, 3, 4); Rect r = new Rect(); drawable.copyBounds(r); assertThat(r.left).isEqualTo(1); assertThat(r.top).isEqualTo(2); assertThat(r.right).isEqualTo(3); assertThat(r.bottom).isEqualTo(4); }
@Test public void createFromPath__shouldReturnDrawableWithSpecificPath() throws Exception { Drawable drawable = ShadowDrawable.createFromPath("/foo"); assertNotNull(drawable); assertEquals("/foo", ((ShadowBitmapDrawable) shadowOf(drawable)).getPath()); }
/** @deprecated Use {@link #clearCorruptStreamSources()}. */ @Deprecated public static void reset() { clearCorruptStreamSources(); }
@Test public void copyBoundsToReturnedRect() { Drawable drawable = ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), "my_source"); drawable.setBounds(1, 2, 3, 4); Rect r = drawable.copyBounds(); assertThat(r.left).isEqualTo(1); assertThat(r.top).isEqualTo(2); assertThat(r.right).isEqualTo(3); assertThat(r.bottom).isEqualTo(4); }
@Test public void testAddDrawableWithWildCardState() { Drawable drawable = ShadowDrawable.createFromPath("/foo"); StateListDrawable stateListDrawable = new StateListDrawable(); stateListDrawable.addState(StateSet.WILD_CARD, drawable); ShadowStateListDrawable shadow = shadowOf(stateListDrawable); Drawable drawableForState = shadow.getDrawableForState(StateSet.WILD_CARD); assertNotNull(drawableForState); assertThat(((ShadowBitmapDrawable) shadowOf(drawableForState)).getPath()).isEqualTo("/foo"); } }
@Test public void shouldStillHaveShadow() throws Exception { Drawable drawable = resources.getDrawable(R.drawable.an_image); assertThat(Shadows.shadowOf(drawable).getCreatedFromResId()).isEqualTo(R.drawable.an_image); }
public void reset() { ShadowAccountManager.reset(); ShadowAudioEffect.reset(); ShadowBackgroundThread.reset(); ShadowBinder.reset(); ShadowBitmapFactory.reset(); ShadowChoreographer.reset(); ShadowContentResolver.reset(); ShadowCookieManager.resetCookies(); ShadowDialog.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowLog.reset(); ShadowLooper.resetThreadLoopers(); ShadowMediaMetadataRetriever.reset(); ShadowMediaPlayer.resetStaticState(); ShadowMessage.reset(); ShadowMimeTypeMap.reset(); ShadowPendingIntent.reset(); ShadowPowerManager.reset(); ShadowProcess.reset(); ShadowRenderNodeAnimator.reset(); ShadowResourceManager.reset(); ShadowResources.reset(); ShadowSQLiteConnection.reset(); ShadowStatFs.reset(); ShadowTypeface.reset(); ShadowValueAnimator.reset(); }
@Test public void canResolveDrawableGivenPackageAndResourceId() throws Exception { Drawable drawable = ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), "my_source"); shadowPackageManager.addDrawableResolution("com.example.foo", 4334, drawable); Drawable actual = packageManager.getDrawable("com.example.foo", 4334, null); assertThat(actual).isSameAs(drawable); }
@Test public void testAddStateWithDrawable() { Drawable drawable = ShadowDrawable.createFromPath("/foo"); StateListDrawable stateListDrawable = new StateListDrawable(); int[] states = {R.attr.state_pressed}; stateListDrawable.addState(states, drawable); ShadowStateListDrawable shadow = shadowOf(stateListDrawable); Drawable drawableForState = shadow.getDrawableForState(states); assertNotNull(drawableForState); assertThat(((ShadowBitmapDrawable) shadowOf(drawableForState)).getPath()).isEqualTo("/foo"); }
@Test public void testTextViewCompoundDrawablesAreSet() throws Exception { View mediaView = inflate(layout.main); TextView view = mediaView.findViewById(R.id.title); Drawable[] drawables = view.getCompoundDrawables(); assertThat(shadowOf(drawables[0]).getCreatedFromResId()).isEqualTo(R.drawable.fourth_image); assertThat(shadowOf(drawables[1]).getCreatedFromResId()).isEqualTo(R.drawable.an_image); assertThat(shadowOf(drawables[2]).getCreatedFromResId()).isEqualTo(R.drawable.an_other_image); assertThat(shadowOf(drawables[3]).getCreatedFromResId()).isEqualTo(R.drawable.third_image); }
ShadowCookieManager.resetCookies(); ShadowDialog.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowLog.reset();
@Test public void createFromStream__shouldReturnDrawableWithSpecificSource() throws Exception { Drawable drawable = ShadowDrawable.createFromStream(new ByteArrayInputStream(new byte[0]), "my_source"); assertNotNull(drawable); assertEquals("my_source", ((ShadowBitmapDrawable) shadowOf(drawable)).getSource()); }
@Test public void intoImageViewSetsPlaceholderWithResourceId() { PlatformLruCache cache = new PlatformLruCache(0); Picasso picasso = spy(new Picasso(RuntimeEnvironment.application, mock(Dispatcher.class), UNUSED_CALL_FACTORY, null, cache, null, NO_TRANSFORMERS, NO_HANDLERS, mock(Stats.class), ARGB_8888, false, false)); ImageView target = mockImageViewTarget(); new RequestCreator(picasso, URI_1, 0).placeholder(android.R.drawable.picture_frame) .into(target); ArgumentCaptor<Drawable> drawableCaptor = ArgumentCaptor.forClass(Drawable.class); verify(target).setImageDrawable(drawableCaptor.capture()); assertThat(shadowOf(drawableCaptor.getValue()).getCreatedFromResId()) .isEqualTo(android.R.drawable.picture_frame); verify(picasso).enqueueAndSubmit(actionCaptor.capture()); assertThat(actionCaptor.getValue()).isInstanceOf(ImageViewAction.class); }
ShadowCookieManager.resetCookies(); ShadowDialog.reset(); ShadowDrawable.clearCorruptStreamSources(); ShadowEnvironment.reset(); ShadowLog.reset();