--- old/modules/graphics/src/test/java/com/sun/javafx/iio/BMPImageLoaderTest.java 2014-06-16 15:01:34.413603400 +0400 +++ new/modules/graphics/src/test/java/com/sun/javafx/iio/BMPImageLoaderTest.java 2014-06-16 15:01:34.278595700 +0400 @@ -187,6 +187,37 @@ } } + private static class RT15619InputStream extends InputStream { + + private final InputStream delegate; + + public RT15619InputStream(InputStream delegate) { + this.delegate = delegate; + } + + @Override + public int read() throws IOException { + return delegate.read(); + } + + // read by 128 bytes chunks + @Override + public int read(byte[] b, int off, int len) throws IOException { + return delegate.read(b, off, Math.min(len, 128)); + } + } + + @Test + public void testRT15619() { + BufferedImage bImg = createImage(BufferedImage.TYPE_INT_RGB); + ImageTestHelper.drawImageRandom(bImg); + ByteArrayInputStream stream = + ImageTestHelper.writeImageToStream(bImg, "bmp", null, null); + RT15619InputStream testStream = new RT15619InputStream(stream); + Image image = loadImage(testStream); + compare(image, bImg); + } + @Test public void test1Bit() { testImageType(BufferedImage.TYPE_BYTE_BINARY, "out1bit.bmp");