@Test public void recyclingInSuccessThrowsException() {
BitmapTarget bad = new BitmapTarget() {
@Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
bitmap.recycle();
}
@Override public void onBitmapFailed(Exception e, Drawable errorDrawable) {
throw new AssertionError();
}
@Override public void onPrepareLoad(Drawable placeHolderDrawable) {
throw new AssertionError();
}
};
Picasso picasso = mock(Picasso.class);
Bitmap bitmap = makeBitmap();
BitmapTargetAction tr = new BitmapTargetAction(picasso, bad, null, null, 0);
try {
tr.complete(new RequestHandler.Result(bitmap, MEMORY));
fail();
} catch (IllegalStateException ignored) {
}
}
}