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;
 

Reply via email to