Add unit test for QuickTime mask issue

This commit is contained in:
Rolf Howarth 2025-04-05 10:34:37 +02:00 committed by Harald Kuhr
parent ae0899fe76
commit 31117c7cea

View File

@ -34,6 +34,7 @@ import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStream;
import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStreamSpi;
import com.twelvemonkeys.imageio.util.ImageReaderAbstractTest;
import javax.imageio.ImageIO;
import javax.imageio.spi.IIORegistry;
import javax.imageio.spi.ImageReaderSpi;
import javax.imageio.stream.ImageInputStream;
@ -229,6 +230,23 @@ public class PICTImageReaderTest extends ImageReaderAbstractTest<PICTImageReader
reader.read(0);
}
@Test
public void testQTMaskBytesSkipped() throws IOException {
PICTImageReader reader = createReader();
try (ImageInputStream stream = ImageIO.createImageInputStream(getClassLoaderResource("/pict/P30946BDC.pict"))) {
reader.setInput(stream);
BufferedImage image = reader.read(0, null);
assertRGBEquals("RGB values differ", 0xfff3f3f3, image.getRGB(0, 0), 1);
assertRGBEquals("RGB values differ", 0xffe1e1e1, image.getRGB(80, 80), 1);
assertRGBEquals("RGB values differ", 0xffe1e1e1, image.getRGB(290, 266), 1);
}
finally {
reader.dispose();
}
}
private static final byte[] DATA_EXT_V2 = {
0x00, 0x78, /* picture size; don't use this value for picture size */
0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, (byte) 0xA8, /* bounding rectangle of picture at 72 dpi */