@Test public void invokesTargetAndCallbackErrorIfTargetIsNotNullWithErrorResourceId() { ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); Picasso mock = mock(Picasso.class); ImageViewAction request = new ImageViewAction(mock, target, null, null, RESOURCE_ID_1, false, callback); Exception e = new RuntimeException(); request.error(e); verify(target).setImageResource(RESOURCE_ID_1); verify(callback).onError(e); }
@Test public void invokesErrorIfTargetIsNotNullWithErrorDrawable() { Drawable errorDrawable = mock(Drawable.class); ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); Picasso mock = mock(Picasso.class); ImageViewAction request = new ImageViewAction(mock, target, null, errorDrawable, 0, false, callback); Exception e = new RuntimeException(); request.error(e); verify(target).setImageDrawable(errorDrawable); verify(callback).onError(e); }
@Test public void invokesErrorIfTargetIsNotNullWithErrorResourceId() { ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); Picasso mock = mock(Picasso.class); ImageViewAction request = new ImageViewAction(mock, target, null, null, RESOURCE_ID_1, false, callback); Exception e = new RuntimeException(); request.error(e); verify(target).setImageResource(RESOURCE_ID_1); verify(callback).onError(e); }
@Test public void errorWithNoResourceIsNoop() { Callback callback = mockCallback(); RemoteViewsAction action = createAction(callback); Exception e = new RuntimeException(); action.error(e); verifyZeroInteractions(remoteViews); verify(callback).onError(e); }
@Test public void errorWithResourceSetsResource() { Callback callback = mockCallback(); RemoteViewsAction action = createAction(1, callback); Exception e = new RuntimeException(); action.error(e); verify(remoteViews).setImageViewResource(1, 1); verify(callback).onError(e); }
@Test public void intoImageViewWithQuickMemoryCacheCheckDoesNotSubmit() { 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)); doReturn(bitmap).when(picasso).quickMemoryCacheCheck(URI_KEY_1); ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); new RequestCreator(picasso, URI_1, 0).into(target, callback); verify(target).setImageDrawable(any(PicassoDrawable.class)); verify(callback).onSuccess(); verify(picasso).cancelRequest(target); verify(picasso, never()).enqueueAndSubmit(any(Action.class)); }
@Test public void clearsCallbackOnCancel() { Picasso picasso = mock(Picasso.class); ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); ImageViewAction request = new ImageViewAction(picasso, target, null, null, 0, false, callback); request.cancel(); assertThat(request.callback).isNull(); }
@Test public void cancelClearsCallback() { ImageView target = mockFitImageViewTarget(true); Callback callback = mockCallback(); DeferredRequestCreator request = new DeferredRequestCreator(mock(RequestCreator.class), target, callback); assertThat(request.callback).isNotNull(); request.cancel(); assertThat(request.callback).isNull(); }
@Test public void clearsCallbackOnCancel() { Picasso picasso = mock(Picasso.class); ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); ImageViewAction request = new ImageViewAction(picasso, target, null, null, 0, false, callback); request.cancel(); assertThat(request.callback).isNull(); }
@Test public void invokesTargetAndCallbackSuccessIfTargetIsNotNull() { Bitmap bitmap = makeBitmap(); Dispatcher dispatcher = mock(Dispatcher.class); PlatformLruCache cache = new PlatformLruCache(0); Picasso picasso = new Picasso(RuntimeEnvironment.application, dispatcher, UNUSED_CALL_FACTORY, null, cache, null, NO_TRANSFORMERS, NO_HANDLERS, mock(Stats.class), Bitmap.Config.ARGB_8888, false, false); ImageView target = mockImageViewTarget(); Callback callback = mockCallback(); ImageViewAction request = new ImageViewAction(picasso, target, null, null, 0, false, callback); request.complete(new RequestHandler.Result(bitmap, MEMORY)); verify(target).setImageDrawable(any(PicassoDrawable.class)); verify(callback).onSuccess(); }
@Test public void completeSetsBitmapOnRemoteViews() { Callback callback = mockCallback(); Bitmap bitmap = makeBitmap(); RemoteViewsAction action = createAction(callback); action.complete(new RequestHandler.Result(bitmap, NETWORK)); verify(remoteViews).setImageViewBitmap(1, bitmap); verify(callback).onSuccess(); }
@Test public void performCancelWithFetchActionWithCallback() { String pausedTag = "pausedTag"; dispatcher.pausedTags.add(pausedTag); assertThat(dispatcher.pausedActions).isEmpty(); Callback callback = mockCallback(); FetchAction fetchAction1 = new FetchAction(mockPicasso(), new Request.Builder(URI_1).tag(pausedTag).build(), callback); dispatcher.performCancel(fetchAction1); fetchAction1.cancel(); assertThat(dispatcher.pausedActions).isEmpty(); }