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 2021/02/21 09:36:08 UTC

svn commit: r1886746 - /pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java

Author: tilman
Date: Sun Feb 21 09:36:08 2021
New Revision: 1886746

URL: http://svn.apache.org/viewvc?rev=1886746&view=rev
Log:
PDFBOX-4892: use try-with-resources, remove double code, open file only once

Modified:
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java?rev=1886746&r1=1886745&r2=1886746&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/text/BidiTest.java Sun Feb 21 09:36:08 2021
@@ -56,20 +56,15 @@ class BidiTest
 
     private PDDocument document;
     private PDFTextStripper stripper;
-    
-    private boolean bFail = false;
 
     @BeforeEach
     public void setUp() throws IOException
     {
-        if (!outDir.exists()) 
+        if (!outDir.exists() && !outDir.mkdirs())
         {
-            if (!outDir.mkdirs()) 
-            {
-                throw (new IOException("Error creating " + outDir.getAbsolutePath() + " directory"));
-            }
+            throw (new IOException("Error creating " + outDir.getAbsolutePath() + " directory"));
         }
-        
+
         document = Loader.loadPDF(new File(IN_DIR, NAME_OF_PDF));
         stripper = new PDFTextStripper();
         stripper.setLineSeparator("\n");
@@ -116,71 +111,48 @@ class BidiTest
             log.info("Preparing to parse " + inFile.getName() + " for standard test");
         }
 
-        if (!outDir.exists()) 
+        File outFile;
+        File expectedFile;
+
+        if (bSort)
         {
-            if (!outDir.mkdirs()) 
-            {
-                throw (new IOException("Error creating " + outDir.getAbsolutePath() + " directory"));
-            }
+            outFile = new File(outDir, inFile.getName() + "-sorted.txt");
+            expectedFile = new File(inFile.getParentFile(), inFile.getName() + "-sorted.txt");
+        }
+        else
+        {
+            outFile = new File(outDir, inFile.getName() + ".txt");
+            expectedFile = new File(inFile.getParentFile(), inFile.getName() + ".txt");
         }
 
-        PDDocument document = Loader.loadPDF(inFile);
-        try
-        {            
-            File outFile;
-            File expectedFile;
-
-            if(bSort)
-            {
-                outFile = new File(outDir,  inFile.getName() + "-sorted.txt");
-                expectedFile = new File(inFile.getParentFile(), inFile.getName() + "-sorted.txt");
-            }
-            else
-            {
-                outFile = new File(outDir, inFile.getName() + ".txt");
-                expectedFile = new File(inFile.getParentFile(), inFile.getName() + ".txt");
-            }
+        try (OutputStream os = new FileOutputStream(outFile);
+             Writer writer = new OutputStreamWriter(os, ENCODING))
+        {
+            //Allows for sorted tests
+            stripper.setSortByPosition(bSort);
+            stripper.writeText(document, writer);
 
-            OutputStream os = new FileOutputStream(outFile);
-            try
-            {
-                Writer writer = new OutputStreamWriter(os, ENCODING);
-                try
-                {
-                    //Allows for sorted tests 
-                    stripper.setSortByPosition(bSort);
-                    stripper.writeText(document, writer);
-                }
-                finally
-                {
-                    // close the written file before reading it again
-                    writer.close();
-                }
-            }
-            finally
-            {
-                os.close();
-            }
+            // close the written file before reading it again
+        }
 
-            if (bLogResult)
-            {
-                log.info("Text for " + inFile.getName() + ":");
-                log.info(stripper.getText(document));
-            }
+        if (bLogResult)
+        {
+            log.info("Text for " + inFile.getName() + ":");
+            log.info(stripper.getText(document));
+        }
 
-            if (!expectedFile.exists())
-            {
-                this.bFail = true;
-                fail("FAILURE: Input verification file: " + expectedFile.getAbsolutePath() +
-                        " did not exist");
-                return;
-            }
+        if (!expectedFile.exists())
+        {
+            fail("FAILURE: Input verification file: " + expectedFile.getAbsolutePath() +
+                    " did not exist");
+            return;
+        }
 
-            LineNumberReader expectedReader =
+        try (LineNumberReader expectedReader =
                 new LineNumberReader(new InputStreamReader(new FileInputStream(expectedFile), ENCODING));
-            LineNumberReader actualReader =
-                new LineNumberReader(new InputStreamReader(new FileInputStream(outFile), ENCODING));
-
+             LineNumberReader actualReader =
+                new LineNumberReader(new InputStreamReader(new FileInputStream(outFile), ENCODING)))
+        {
             while (true)
             {
                 String expectedLine = expectedReader.readLine();
@@ -195,29 +167,22 @@ class BidiTest
                 }
                 if (!stringsEqual(expectedLine, actualLine))
                 {
-                    this.bFail = true;
                     fail("FAILURE: Line mismatch for file " + inFile.getName() +
                             " (sort = "+bSort+")" +
-                            " at expected line: " + expectedReader.getLineNumber() +
+                                    " at expected line: " + expectedReader.getLineNumber() +
                             " at actual line: " + actualReader.getLineNumber() +
                             "\nexpected line was: \"" + expectedLine + "\"" +
-                            "\nactual line was:   \"" + actualLine + "\"" + "\n");
+                                    "\nactual line was:   \"" + actualLine + "\"" + "\n");
 
                     //lets report all lines, even though this might produce some verbose logging
                     //break;
                 }
 
-                if( expectedLine == null || actualLine==null)
+                if (expectedLine == null || actualLine == null)
                 {
                     break;
                 }
             }
-            expectedReader.close();
-            actualReader.close();
-        }
-        finally
-        {
-            document.close();
         }
     }