@Test public void createShouldSetSizeToValueFromMapAsFirstPriority() { ShadowBitmapFactory.provideWidthAndHeightHints("image.png", 111, 222); final Bitmap bitmap = ShadowBitmapFactory.create("file:image.png", null, new Point(50, 60)); assertThat(bitmap.getWidth()).isEqualTo(111); assertThat(bitmap.getHeight()).isEqualTo(222); }
@Test public void decodeFileEtc_shouldSetOptionsOutWidthAndOutHeightFromHints() { ShadowBitmapFactory.provideWidthAndHeightHints("/some/file.jpg", 123, 456); BitmapFactory.Options options = new BitmapFactory.Options(); BitmapFactory.decodeFile("/some/file.jpg", options); assertEquals(123, options.outWidth); assertEquals(456, options.outHeight); }
@Test public void decodeByteArray_shouldIncludeOffsets() { String data = "arbitrary bytes"; ShadowBitmapFactory.provideWidthAndHeightHints(Uri.parse(data), 123, 456); byte[] bytes = data.getBytes(UTF_8); Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 1, bytes.length - 2); assertEquals("Bitmap for " + data + " bytes 1..13", shadowOf(bitmap).getDescription()); }
@Test public void decodeByteArray_shouldGetWidthAndHeightFromHints() { String data = "arbitrary bytes"; ShadowBitmapFactory.provideWidthAndHeightHints(Uri.parse(data), 123, 456); byte[] bytes = data.getBytes(UTF_8); Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); assertEquals("Bitmap for " + data, shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); }
@Test public void decodeStream_shouldGetWidthAndHeightFromHints() throws Exception { ShadowBitmapFactory.provideWidthAndHeightHints(Uri.parse("content:/path"), 123, 456); InputStream inputStream = context.getContentResolver().openInputStream(Uri.parse("content:/path")); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); assertEquals("Bitmap for content:/path", shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); }
@Test public void decodeFile_shouldGetWidthAndHeightFromHints() { ShadowBitmapFactory.provideWidthAndHeightHints("/some/file.jpg", 123, 456); Bitmap bitmap = BitmapFactory.decodeFile("/some/file.jpg"); assertEquals("Bitmap for file:/some/file.jpg", shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); }
@Test public void decodeUri_shouldGetWidthAndHeightFromHints() throws Exception { ShadowBitmapFactory.provideWidthAndHeightHints(Uri.parse("content:/path"), 123, 456); Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), Uri.parse("content:/path")); assertEquals("Bitmap for content:/path", shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); }
@Test public void decodeResource_shouldGetWidthAndHeightFromHints() { ShadowBitmapFactory.provideWidthAndHeightHints(R.drawable.an_image, 123, 456); Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.an_image); assertEquals("Bitmap for resource:org.robolectric:drawable/an_image", shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); }
@SuppressWarnings("ObjectToString") @Test public void decodeFileDescriptor_shouldGetWidthAndHeightFromHints() throws Exception { File tmpFile = File.createTempFile("BitmapFactoryTest", null); try { tmpFile.deleteOnExit(); try (FileInputStream is = new FileInputStream(tmpFile)) { FileDescriptor fd = is.getFD(); ShadowBitmapFactory.provideWidthAndHeightHints(fd, 123, 456); Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fd); assertEquals("Bitmap for fd:" + fd, shadowOf(bitmap).getDescription()); assertEquals(123, bitmap.getWidth()); assertEquals(456, bitmap.getHeight()); } } finally { tmpFile.delete(); } }
ShadowBitmapFactory.provideWidthAndHeightHints("fake", 1024, 500); NetworkResponse jpeg = new NetworkResponse(jpegBytes);
ShadowBitmapFactory.provideWidthAndHeightHints("fake", 1024, 500); NetworkResponse jpeg = new NetworkResponse(jpegBytes);
ShadowBitmapFactory.provideWidthAndHeightHints("fake", 1024, 500); NetworkResponse jpeg = new NetworkResponse(jpegBytes);
ShadowBitmapFactory.provideWidthAndHeightHints("fake", 1024, 500); NetworkResponse jpeg = new NetworkResponse(jpegBytes);
ShadowBitmapFactory.provideWidthAndHeightHints("fake", 1024, 500); NetworkResponse jpeg = new NetworkResponse(jpegBytes);