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 2023/06/15 17:41:52 UTC

svn commit: r1910432 - in /pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering: TestPDFToImage.java TestRendering.java

Author: tilman
Date: Thu Jun 15 17:41:52 2023
New Revision: 1910432

URL: http://svn.apache.org/viewvc?rev=1910432&view=rev
Log:
PDFBOX-4892: delete on exit, clarify code, remove trailing slash, remove unused

Modified:
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestRendering.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java?rev=1910432&r1=1910431&r2=1910432&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestPDFToImage.java Thu Jun 15 17:41:52 2023
@@ -24,6 +24,7 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.nio.file.Files;
 import javax.imageio.ImageIO;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -62,9 +63,6 @@ public class TestPDFToImage
      */
     private static final Log LOG = LogFactory.getLog(TestPDFToImage.class);
 
-    static String inDir = "src/test/resources/input/rendering";
-    static String outDir = "target/test-output/rendering/";
-
     /**
      * Constructor.
      */
@@ -175,9 +173,8 @@ public class TestPDFToImage
         LOG.info("Opening: " + file.getName());
         try
         {
-            new FileOutputStream(new File(outDir, file.getName() + ".parseerror")).close();
+            Files.createFile(new File(outDir, file.getName() + ".parseerror").toPath());
             document = Loader.loadPDF(file, (String) null);
-            String outputPrefix = outDir + '/' + file.getName() + "-";
             int numPages = document.getNumberOfPages();
             if (numPages < 1)
             {
@@ -187,32 +184,41 @@ public class TestPDFToImage
             else
             {
                 new File(outDir, file.getName() + ".parseerror").delete();
+                new File(outDir, file.getName() + ".parseerror").deleteOnExit();
             }
 
             LOG.info("Rendering: " + file.getName());
             PDFRenderer renderer = new PDFRenderer(document);
             for (int i = 0; i < numPages; i++)
             {
-                String fileName = outputPrefix + (i + 1) + ".png";
-                new FileOutputStream(new File(fileName + ".rendererror")).close();
+                String fileName = file.getName() + "-" + (i + 1) + ".png";
+                Files.createFile(new File(outDir, fileName + ".rendererror").toPath());
                 BufferedImage image = renderer.renderImageWithDPI(i, 96); // Windows native DPI
-                new File(fileName + ".rendererror").delete();
+                new File(outDir, fileName + ".rendererror").delete();
+                new File(outDir, fileName + ".rendererror").deleteOnExit();
                 LOG.info("Writing: " + fileName);
-                new FileOutputStream(new File(fileName + ".writeerror")).close();
-                ImageIO.write(image, "PNG", new File(fileName));
-                new File(fileName + ".writeerror").delete();
+                Files.createFile(new File(outDir, fileName + ".writeerror").toPath());
+                boolean writeSuccess = ImageIO.write(image, "PNG", new File(outDir, fileName));
+                if (writeSuccess)
+                {
+                    new File(outDir, fileName + ".writeerror").delete();
+                    new File(outDir, fileName + ".writeerror").deleteOnExit();
+                }
             }
 
             // test to see whether file is destroyed in pdfbox
-            new FileOutputStream(new File(outDir, file.getName() + ".saveerror")).close();
+            Files.createFile(new File(outDir, file.getName() + ".saveerror").toPath());
             File tmpFile = File.createTempFile("pdfbox", ".pdf");
             document.setAllSecurityToBeRemoved(true);
             document.save(tmpFile);
             new File(outDir, file.getName() + ".saveerror").delete();
-            new FileOutputStream(new File(outDir, file.getName() + ".reloaderror")).close();
+            new File(outDir, file.getName() + ".saveerror").deleteOnExit();
+            Files.createFile(new File(outDir, file.getName() + ".reloaderror").toPath());
             Loader.loadPDF(tmpFile, (String) null).close();
             new File(outDir, file.getName() + ".reloaderror").delete();
+            new File(outDir, file.getName() + ".reloaderror").deleteOnExit();
             tmpFile.delete();
+            tmpFile.deleteOnExit();
         }
         catch (IOException e)
         {
@@ -233,7 +239,7 @@ public class TestPDFToImage
         //Now check the resulting files ... did we get identical PNG(s)?
         try
         {
-            new File(outDir + file.getName() + ".cmperror").delete();
+            new File(outDir, file.getName() + ".cmperror").delete();
 
             File[] outFiles = new File(outDir).listFiles(new FilenameFilter()
             {

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestRendering.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestRendering.java?rev=1910432&r1=1910431&r2=1910432&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestRendering.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/rendering/TestRendering.java Thu Jun 15 17:41:52 2023
@@ -46,7 +46,7 @@ import java.util.stream.Stream;
 class TestRendering
 {
     private static final String INPUT_DIR = "src/test/resources/input/rendering";
-    private static final String OUTPUT_DIR = "target/test-output/rendering/";
+    private static final String OUTPUT_DIR = "target/test-output/rendering";
     private static final int MAX_NUM_FILES = 20;
 
     private static Collection<Arguments> data()