Author: tilman
Date: Tue Nov 18 13:56:31 2025
New Revision: 1929832

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

Modified:
   
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
  Tue Nov 18 13:55:12 2025        (r1929831)
+++ 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/LosslessFactoryTest.java
  Tue Nov 18 13:56:31 2025        (r1929832)
@@ -33,6 +33,7 @@ import java.awt.image.Raster;
 import java.awt.image.WritableRaster;
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.Hashtable;
 import java.util.Random;
 import javax.imageio.ImageIO;
@@ -80,13 +81,13 @@ class LosslessFactoryTest
      * Tests RGB LosslessFactoryTest#createFromImage(PDDocument document,
      * BufferedImage image)
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImageRGB() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         PDImageXObject ximage1 = LosslessFactory.createFromImage(document, 
image);
         validate(ximage1, 8, image.getWidth(), image.getHeight(), "png", 
PDDeviceRGB.INSTANCE.getName());
@@ -138,13 +139,13 @@ class LosslessFactoryTest
      * Tests INT_ARGB LosslessFactoryTest#createFromImage(PDDocument document,
      * BufferedImage image)
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImageINT_ARGB() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         // create an ARGB image
         int w = image.getWidth();
@@ -178,7 +179,7 @@ class LosslessFactoryTest
      * Tests INT_ARGB LosslessFactoryTest#createFromImage(PDDocument document,
      * BufferedImage image) with BITMASK transparency
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImageBITMASK_INT_ARGB() throws IOException
@@ -190,7 +191,7 @@ class LosslessFactoryTest
      * Tests 4BYTE_ABGR LosslessFactoryTest#createFromImage(PDDocument 
document,
      * BufferedImage image) with BITMASK transparency
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImageBITMASK4BYTE_ABGR() throws IOException
@@ -202,13 +203,13 @@ class LosslessFactoryTest
      * Tests 4BYTE_ABGR LosslessFactoryTest#createFromImage(PDDocument 
document,
      * BufferedImage image)
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImage4BYTE_ABGR() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         // create an ARGB image
         int w = image.getWidth();
@@ -253,13 +254,13 @@ class LosslessFactoryTest
      * image). This should create an 8-bit-image; prevent the problems from 
PDFBOX-4674 in case
      * image creation is modified in the future.
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromImageUSHORT_555_RGB() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         // create an USHORT_555_RGB image
         int w = image.getWidth();
@@ -292,13 +293,13 @@ class LosslessFactoryTest
      * Tests LosslessFactoryTest#createFromImage(PDDocument document,
      * BufferedImage image) with transparent GIF
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromTransparentGIF() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("gif.gif"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("gif.gif"));
         
         assertEquals(Transparency.BITMASK, 
image.getColorModel().getTransparency());
 
@@ -322,13 +323,13 @@ class LosslessFactoryTest
      * BufferedImage image) with a transparent 1 bit GIF. (PDFBOX-4672)
      * This ends up as RGB because the 1 bit fast path doesn't support 
transparency.
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromTransparent1BitGIF() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("gif-1bit-transparent.gif"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("gif-1bit-transparent.gif"));
 
         assertEquals(Transparency.BITMASK, 
image.getColorModel().getTransparency());
         assertEquals(BufferedImage.TYPE_BYTE_BINARY, image.getType());
@@ -351,7 +352,7 @@ class LosslessFactoryTest
     /**
      * Test file that had a predictor encoding bug in PDFBOX-4184.
      *
-     * @throws java.io.IOException
+     * @throws IOException
      */
     @Test
     void testCreateLosslessFromGovdocs032163() throws IOException
@@ -561,10 +562,13 @@ class LosslessFactoryTest
     void testCreateLosslessFromImageCMYK() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
-        final ColorSpace targetCS = new ICC_ColorSpace(ICC_Profile
-                
.getInstance(this.getClass().getResourceAsStream("/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc")));
+        final ColorSpace targetCS;
+        try (InputStream is = 
this.getClass().getResourceAsStream("/org/apache/pdfbox/resources/icc/ISOcoated_v2_300_bas.icc"))
+        {
+            targetCS = new ICC_ColorSpace(ICC_Profile.getInstance(is));
+        }
         ColorConvertOp op = new 
ColorConvertOp(image.getColorModel().getColorSpace(), targetCS, null);
         BufferedImage imageCMYK = op.filter(image, null);
 
@@ -581,7 +585,7 @@ class LosslessFactoryTest
     void testCreateLosslessFrom16Bit() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         ColorSpace targetCS = ColorSpace.getInstance(ColorSpace.CS_sRGB);
         int dataBufferType = DataBuffer.TYPE_USHORT;
@@ -604,7 +608,7 @@ class LosslessFactoryTest
     void testCreateLosslessFromImageINT_BGR() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         BufferedImage imgBgr = new BufferedImage(image.getWidth(), 
image.getHeight(), BufferedImage.TYPE_INT_BGR);
         Graphics2D graphics = imgBgr.createGraphics();
@@ -619,7 +623,7 @@ class LosslessFactoryTest
     void testCreateLosslessFromImageINT_RGB() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         BufferedImage imgRgb = new BufferedImage(image.getWidth(), 
image.getHeight(), BufferedImage.TYPE_INT_RGB);
         Graphics2D graphics = imgRgb.createGraphics();
@@ -634,7 +638,7 @@ class LosslessFactoryTest
     void testCreateLosslessFromImageBYTE_3BGR() throws IOException
     {
         PDDocument document = new PDDocument();
-        BufferedImage image = 
ImageIO.read(this.getClass().getResourceAsStream("png.png"));
+        BufferedImage image = 
ImageIO.read(this.getClass().getResource("png.png"));
 
         BufferedImage imgRgb = new BufferedImage(image.getWidth(), 
image.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
         Graphics2D graphics = imgRgb.createGraphics();

Reply via email to