Author: tilman
Date: Tue Nov 4 11:15:21 2025
New Revision: 1929510
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #310
Modified:
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
Modified:
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
Tue Nov 4 11:15:17 2025 (r1929509)
+++
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/PDImageXObjectTest.java
Tue Nov 4 11:15:21 2025 (r1929510)
@@ -16,7 +16,6 @@
*/
package org.apache.pdfbox.pdmodel.graphics.image;
-
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Graphics2D;
@@ -148,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());
@@ -179,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());
@@ -194,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());
@@ -225,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());
@@ -240,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());
@@ -271,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());
}
@@ -289,15 +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());
- byte[] byteArray = IOUtils.toByteArray(new FileInputStream(file));
+ byte[] byteArray = IOUtils.toByteArray(is2);
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,14 +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());
- byte[] byteArray = IOUtils.toByteArray(new FileInputStream(file));
+ byte[] byteArray = IOUtils.toByteArray(is);
PDImageXObject image = PDImageXObject.createFromByteArray(doc,
byteArray, null);
-
+
PDImageXObject expectedImage = CCITTFactory.createFromFile(doc,
file);
-
+
assertEquals(expectedImage.getSuffix(), image.getSuffix());
checkIdentARGB(image.getImage(), expectedImage.getImage());
}
@@ -322,14 +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());
- byte[] byteArray = IOUtils.toByteArray(new FileInputStream(file));
+ byte[] byteArray = IOUtils.toByteArray(is1);
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());
}
@@ -338,14 +348,11 @@ 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());
- byte[] byteArray;
- try (InputStream in = new FileInputStream(file))
- {
- byteArray = IOUtils.toByteArray(in);
- }
+ byte[] byteArray = IOUtils.toByteArray(is);
CustomFactory customFactory = this::alphaFlattenedJPEGFactory;