You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2025/11/04 11:15:17 UTC
svn commit: r1929509 - pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image
Author: tilman
Date: Tue Nov 4 11:15:17 2025
New Revision: 1929509
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #310
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java Tue Nov 4 11:15:12 2025 (r1929508)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java Tue Nov 4 11:15:17 2025 (r1929509)
@@ -147,12 +147,13 @@ class PDImageXObjectTest
private void testCompareCreatedFileByExtensionWithCreatedByLosslessFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ try (PDDocument doc = new PDDocument();
+ InputStream is = PDImageXObjectTest.class.getResourceAsStream(filename))
{
File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFileByExtension(file, doc);
- BufferedImage bim = ImageIO.read(PDImageXObjectTest.class.getResourceAsStream(filename));
+ BufferedImage bim = ImageIO.read(is);
PDImageXObject expectedImage = LosslessFactory.createFromImage(doc, bim);
assertEquals(expectedImage.getSuffix(), image.getSuffix());
@@ -178,12 +179,13 @@ class PDImageXObjectTest
private void testCompareCreatedFileByExtensionWithCreatedByJPEGFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFileByExtension(file, doc);
- PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, new FileInputStream(file));
+ PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, is);
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
@@ -193,12 +195,13 @@ class PDImageXObjectTest
private void testCompareCreatedFileWithCreatedByLosslessFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ try (PDDocument doc = new PDDocument();
+ InputStream is = PDImageXObjectTest.class.getResourceAsStream(filename))
{
File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFile(file.getAbsolutePath(), doc);
- BufferedImage bim = ImageIO.read(PDImageXObjectTest.class.getResourceAsStream(filename));
+ BufferedImage bim = ImageIO.read(is);
PDImageXObject expectedImage = LosslessFactory.createFromImage(doc, bim);
assertEquals(expectedImage.getSuffix(), image.getSuffix());
@@ -224,12 +227,13 @@ class PDImageXObjectTest
private void testCompareCreatedFileWithCreatedByJPEGFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFile(file.getAbsolutePath(), doc);
- PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, new FileInputStream(file));
+ PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, is);
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
@@ -239,12 +243,13 @@ class PDImageXObjectTest
private void testCompareCreatedByContentWithCreatedByLosslessFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ try (PDDocument doc = new PDDocument();
+ InputStream is = PDImageXObjectTest.class.getResourceAsStream(filename))
{
File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFileByContent(file, doc);
- BufferedImage bim = ImageIO.read(PDImageXObjectTest.class.getResourceAsStream(filename));
+ BufferedImage bim = ImageIO.read(is);
PDImageXObject expectedImage = LosslessFactory.createFromImage(doc, bim);
assertEquals(expectedImage.getSuffix(), image.getSuffix());
@@ -270,13 +275,14 @@ class PDImageXObjectTest
private void testCompareCreatedByContentWithCreatedByJPEGFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
PDImageXObject image = PDImageXObject.createFromFileByContent(file, doc);
-
- PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, new FileInputStream(file));
-
+
+ PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, is);
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}
@@ -288,16 +294,17 @@ class PDImageXObjectTest
private void testCompareCreatedFromByteArrayWithCreatedByLosslessFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is1 = PDImageXObjectTest.class.getResourceAsStream(filename);
+ InputStream is2 = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
- InputStream in = new FileInputStream(file);
- byte[] byteArray = in.readAllBytes();
+ byte[] byteArray = is2.readAllBytes();
PDImageXObject image = PDImageXObject.createFromByteArray(doc, byteArray, null);
-
- BufferedImage bim = ImageIO.read(PDImageXObjectTest.class.getResourceAsStream(filename));
+
+ BufferedImage bim = ImageIO.read(is1);
PDImageXObject expectedImage = LosslessFactory.createFromImage(doc, bim);
-
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}
@@ -306,15 +313,15 @@ class PDImageXObjectTest
private void testCompareCreatedFromByteArrayWithCreatedByCCITTFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
- InputStream in = new FileInputStream(file);
- byte[] byteArray = in.readAllBytes();
+ byte[] byteArray = is.readAllBytes();
PDImageXObject image = PDImageXObject.createFromByteArray(doc, byteArray, null);
-
+
PDImageXObject expectedImage = CCITTFactory.createFromFile(doc, file);
-
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}
@@ -323,15 +330,16 @@ class PDImageXObjectTest
private void testCompareCreatedFromByteArrayWithCreatedByJPEGFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is1 = new FileInputStream(file);
+ InputStream is2 = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
- InputStream in = new FileInputStream(file);
- byte[] byteArray = in.readAllBytes();
+ byte[] byteArray = is1.readAllBytes();
PDImageXObject image = PDImageXObject.createFromByteArray(doc, byteArray, null);
-
- PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, new FileInputStream(file));
-
+
+ PDImageXObject expectedImage = JPEGFactory.createFromStream(doc, is2);
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}
@@ -340,18 +348,18 @@ class PDImageXObjectTest
private void testCompareCreatedFromByteArrayWithCreatedByCustomFactory(String filename)
throws IOException, URISyntaxException
{
- try (PDDocument doc = new PDDocument())
+ File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
+ try (PDDocument doc = new PDDocument();
+ InputStream is = new FileInputStream(file))
{
- File file = new File(PDImageXObjectTest.class.getResource(filename).toURI());
- InputStream in = new FileInputStream(file);
- byte[] byteArray = in.readAllBytes();
-
+ byte[] byteArray = is.readAllBytes();
+
CustomFactory customFactory = this::alphaFlattenedJPEGFactory;
-
+
PDImageXObject image = PDImageXObject.createFromByteArray(doc, byteArray, filename, customFactory);
-
+
PDImageXObject expectedImage = alphaFlattenedJPEGFactory(doc, byteArray);
-
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}