Author: tilman
Date: Sat Nov  1 15:02:15 2025
New Revision: 1929461

Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; refactor; closes #308

Modified:
   
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java

Modified: 
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java
      Sat Nov  1 13:40:58 2025        (r1929460)
+++ 
pdfbox/branches/2.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/JPEGFactoryTest.java
      Sat Nov  1 15:02:15 2025        (r1929461)
@@ -18,7 +18,6 @@ package org.apache.pdfbox.pdmodel.graphi
 import java.awt.Graphics;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -67,6 +66,7 @@ public class JPEGFactoryTest extends Tes
 
         doWritePDF(document, ximage, testResultsDir, "jpegrgbstream.pdf");
         checkJpegStream(testResultsDir, "jpegrgbstream.pdf", 
JPEGFactoryTest.class.getResourceAsStream("jpeg.jpg"));
+        stream.close();
     }
 
     /*
@@ -82,6 +82,7 @@ public class JPEGFactoryTest extends Tes
 
         doWritePDF(document, ximage, testResultsDir, "jpegcmykstream.pdf");
         checkJpegStream(testResultsDir, "jpegcmykstream.pdf", 
JPEGFactoryTest.class.getResourceAsStream("jpegcmyk.jpg"));
+        stream.close();
     }
 
     /**
@@ -97,6 +98,7 @@ public class JPEGFactoryTest extends Tes
 
         doWritePDF(document, ximage, testResultsDir, "jpeg256stream.pdf");
         checkJpegStream(testResultsDir, "jpeg256stream.pdf", 
JPEGFactoryTest.class.getResourceAsStream("jpeg256.jpg"));
+        stream.close();
     }
 
     /**
@@ -284,20 +286,16 @@ public class JPEGFactoryTest extends Tes
 
     // check whether it is possible to extract the jpeg stream exactly 
     // as it was passed to createFromStream
-    private void checkJpegStream(File testResultsDir, String filename, 
InputStream resourceStream)
+    private void checkJpegStream(File testResultsDir, String filename, 
InputStream expected)
             throws IOException
     {
         PDDocument doc = PDDocument.load(new File(testResultsDir, filename));
         PDImageXObject img =
                 (PDImageXObject) 
doc.getPage(0).getResources().getXObject(COSName.getPDFName("Im1"));
         InputStream dctStream = 
img.createInputStream(Arrays.asList(COSName.DCT_DECODE.getName()));
-        ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
-        ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
-        IOUtils.copy(resourceStream, baos1);
-        IOUtils.copy(dctStream, baos2);
-        resourceStream.close();
+        assertArrayEquals(IOUtils.toByteArray(expected), 
IOUtils.toByteArray(dctStream));
+        expected.close();
         dctStream.close();
-        assertArrayEquals(baos1.toByteArray(), baos2.toByteArray());
         doc.close();
     }
 }

Reply via email to