use of com.facebook.animated.webp.WebPImage in project fresco by facebook.
the class AnimatedImageFactoryWebPImplTest method testCreateDefaultsUsingByteBuffer.
@Test
public void testCreateDefaultsUsingByteBuffer() {
WebPImage mockWebPImage = mock(WebPImage.class);
// Expect a call to WebPImage.createFromByteBuffer
TrivialBufferPooledByteBuffer byteBuffer = createDirectByteBuffer();
when(mWebPImageMock.decodeFromByteBuffer(eq(byteBuffer.getByteBuffer()), any(ImageDecodeOptions.class))).thenReturn(mockWebPImage);
testCreateDefaults(mockWebPImage, byteBuffer);
}
use of com.facebook.animated.webp.WebPImage in project fresco by facebook.
the class AnimatedImageFactoryWebPImplTest method testCreateWithPreviewBitmapUsingByteBuffer.
@Test
public void testCreateWithPreviewBitmapUsingByteBuffer() throws Exception {
WebPImage mockWebPImage = mock(WebPImage.class);
Bitmap mockBitmap = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
// Expect a call to WebPImage.createFromByteBuffer
TrivialBufferPooledByteBuffer byteBuffer = createDirectByteBuffer();
when(mWebPImageMock.decodeFromByteBuffer(eq(byteBuffer.getByteBuffer()), any(ImageDecodeOptions.class))).thenReturn(mockWebPImage);
when(mockWebPImage.getWidth()).thenReturn(50);
when(mockWebPImage.getHeight()).thenReturn(50);
testCreateWithPreviewBitmap(mockWebPImage, byteBuffer, mockBitmap);
}
use of com.facebook.animated.webp.WebPImage in project fresco by facebook.
the class AnimatedImageFactoryWebPImplTest method testCreateWithDecodeAlFramesUsingPointer.
@Test
public void testCreateWithDecodeAlFramesUsingPointer() throws Exception {
WebPImage mockWebPImage = mock(WebPImage.class);
Bitmap mockBitmap1 = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
Bitmap mockBitmap2 = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
// Expect a call to WebPImage.createFromByteBuffer
TrivialPooledByteBuffer byteBuffer = createByteBuffer();
when(mWebPImageMock.decodeFromNativeMemory(eq(byteBuffer.getNativePtr()), eq(byteBuffer.size()), any(ImageDecodeOptions.class))).thenReturn(mockWebPImage);
when(mockWebPImage.getWidth()).thenReturn(50);
when(mockWebPImage.getHeight()).thenReturn(50);
testCreateWithDecodeAlFrames(mockWebPImage, byteBuffer, mockBitmap1, mockBitmap2);
}
use of com.facebook.animated.webp.WebPImage in project fresco by facebook.
the class AnimatedImageFactoryWebPImplTest method testCreateWithPreviewBitmap.
@Test
public void testCreateWithPreviewBitmap() throws Exception {
WebPImage mockWebPImage = mock(WebPImage.class);
Bitmap mockBitmap = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
// Expect a call to WebPImage.create
TrivialPooledByteBuffer byteBuffer = createByteBuffer();
when(mWebPImageMock.decode(byteBuffer.getNativePtr(), byteBuffer.size())).thenReturn(mockWebPImage);
when(mockWebPImage.getWidth()).thenReturn(50);
when(mockWebPImage.getHeight()).thenReturn(50);
// For decoding preview frame, expect some calls.
final AnimatedDrawableBackend mockAnimatedDrawableBackend = createAnimatedDrawableBackendMock(1);
when(mMockAnimatedDrawableBackendProvider.get(any(AnimatedImageResult.class), isNull(Rect.class))).thenReturn(mockAnimatedDrawableBackend);
when(mMockBitmapFactory.createBitmapInternal(50, 50, DEFAULT_BITMAP_CONFIG)).thenReturn(CloseableReference.of(mockBitmap, FAKE_BITMAP_RESOURCE_RELEASER));
AnimatedImageCompositor mockCompositor = mock(AnimatedImageCompositor.class);
PowerMockito.whenNew(AnimatedImageCompositor.class).withAnyArguments().thenReturn(mockCompositor);
ImageDecodeOptions imageDecodeOptions = ImageDecodeOptions.newBuilder().setDecodePreviewFrame(true).build();
EncodedImage encodedImage = new EncodedImage(CloseableReference.of(byteBuffer, FAKE_RESOURCE_RELEASER));
encodedImage.setImageFormat(ImageFormat.UNKNOWN);
CloseableAnimatedImage closeableImage = (CloseableAnimatedImage) mAnimatedImageFactory.decodeWebP(encodedImage, imageDecodeOptions, DEFAULT_BITMAP_CONFIG);
// Verify we got the right result
AnimatedImageResult imageResult = closeableImage.getImageResult();
assertSame(mockWebPImage, imageResult.getImage());
assertNotNull(imageResult.getPreviewBitmap());
assertFalse(imageResult.hasDecodedFrame(0));
// Should not have interacted with these.
verify(mMockAnimatedDrawableBackendProvider).get(any(AnimatedImageResult.class), isNull(Rect.class));
verifyNoMoreInteractions(mMockAnimatedDrawableBackendProvider);
verify(mMockBitmapFactory).createBitmapInternal(50, 50, DEFAULT_BITMAP_CONFIG);
verifyNoMoreInteractions(mMockBitmapFactory);
verify(mockCompositor).renderFrame(0, mockBitmap);
}
use of com.facebook.animated.webp.WebPImage in project fresco by facebook.
the class AnimatedImageFactoryWebPImplTest method testCreateWithDecodeAlFramesUsingByteBuffer.
@Test
public void testCreateWithDecodeAlFramesUsingByteBuffer() throws Exception {
WebPImage mockWebPImage = mock(WebPImage.class);
Bitmap mockBitmap1 = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
Bitmap mockBitmap2 = MockBitmapFactory.create(50, 50, DEFAULT_BITMAP_CONFIG);
// Expect a call to WebPImage.createFromByteBuffer
TrivialBufferPooledByteBuffer byteBuffer = createDirectByteBuffer();
when(mWebPImageMock.decodeFromByteBuffer(eq(byteBuffer.getByteBuffer()), any(ImageDecodeOptions.class))).thenReturn(mockWebPImage);
when(mockWebPImage.getWidth()).thenReturn(50);
when(mockWebPImage.getHeight()).thenReturn(50);
testCreateWithDecodeAlFrames(mockWebPImage, byteBuffer, mockBitmap1, mockBitmap2);
}
Aggregations