@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Test public void getWithCacheHit() throws Exception { Bitmap bitmap = Bitmap.createBitmap(1, 1, null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); when(mImageCache.getBitmap(anyString())).thenReturn(bitmap); ImageLoader.ImageContainer ic = mImageLoader.get("http://foo", listener); Assert.assertSame(bitmap, ic.getBitmap()); verify(listener).onResponse(ic, true); }
@Test public void getWithCacheMiss() throws Exception { when(mImageCache.getBitmap(anyString())).thenReturn(null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); // Ask for the image to be loaded. mImageLoader.get("http://foo", listener); // Second pass to test deduping logic. mImageLoader.get("http://foo", listener); // Response callback should be called both times. verify(listener, times(2)).onResponse(any(ImageLoader.ImageContainer.class), eq(true)); // But request should be enqueued only once. verify(mRequestQueue, times(1)).add(any(Request.class)); }
@Test public void getWithCacheHit() throws Exception { Bitmap bitmap = Bitmap.createBitmap(1, 1, null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); when(mImageCache.getBitmap(anyString())).thenReturn(bitmap); ImageLoader.ImageContainer ic = mImageLoader.get("http://foo", listener); Assert.assertSame(bitmap, ic.getBitmap()); verify(listener).onResponse(ic, true); }
@Test public void getWithCacheHit() throws Exception { Bitmap bitmap = Bitmap.createBitmap(1, 1, null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); when(mImageCache.getBitmap(anyString())).thenReturn(bitmap); ImageLoader.ImageContainer ic = mImageLoader.get("http://foo", listener); Assert.assertSame(bitmap, ic.getBitmap()); verify(listener).onResponse(ic, true); }
imageListener.onResponse(container, true); return container; imageListener.onResponse(imageContainer, true);
imageListener.onResponse(container, true); return container; imageListener.onResponse(imageContainer, true);
imageListener.onResponse(container, true); return container; imageListener.onResponse(imageContainer, true);
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Override public void run() { for (BatchedImageRequest bir : mBatchedResponses.values()) { for (ImageContainer container : bir.mContainers) { // If one of the callers in the batched request canceled the request // after the response was received but before it was delivered, // skip them. if (container.mListener == null) { continue; } if (bir.getError() == null) { container.mBitmap = bir.mResponseBitmap; container.mListener.onResponse(container, false); } else { container.mListener.onErrorResponse(bir.getError()); } } } mBatchedResponses.clear(); mRunnable = null; }
@Test public void getWithCacheHit() throws Exception { Bitmap bitmap = Bitmap.createBitmap(1, 1, null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); when(mImageCache.getBitmap(anyString())).thenReturn(bitmap); ImageLoader.ImageContainer ic = mImageLoader.get("http://foo", listener); Assert.assertSame(bitmap, ic.getBitmap()); verify(listener).onResponse(ic, true); }
@Test public void getWithCacheHit() throws Exception { Bitmap bitmap = Bitmap.createBitmap(1, 1, null); ImageLoader.ImageListener listener = mock(ImageLoader.ImageListener.class); when(mImageCache.getBitmap(anyString())).thenReturn(bitmap); ImageLoader.ImageContainer ic = mImageLoader.get("http://foo", listener); Assert.assertSame(bitmap, ic.getBitmap()); verify(listener).onResponse(ic, true); }