]> source.dussan.org Git - poi.git/commitdiff
Update some tests and IntelliJ warnings
authorDominik Stadler <centic@apache.org>
Mon, 1 Jan 2018 14:38:58 +0000 (14:38 +0000)
committerDominik Stadler <centic@apache.org>
Mon, 1 Jan 2018 14:38:58 +0000 (14:38 +0000)
Ignore disabled test instead of not listing it in the test-report at all

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819768 13f79535-47bb-0310-9956-ffa450edef68

12 files changed:
src/java/org/apache/poi/hssf/dev/BiffViewer.java
src/java/org/apache/poi/ss/formula/ConditionalFormattingEvaluator.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
src/ooxml/java/org/apache/poi/xssf/streaming/SheetDataWriter.java
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
src/ooxml/testcases/org/apache/poi/xwpf/XWPFTestDataSamples.java
src/scratchpad/testcases/org/apache/poi/hmef/HMEFTest.java
src/scratchpad/testcases/org/apache/poi/hmef/extractor/TestHMEFContentsExtractor.java
src/testcases/org/apache/poi/poifs/filesystem/TestNPOIFSFileSystem.java
src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetUpdateArrayFormulas.java

index 9f0aa1323daf4d335aa359822a28258c62bf1c4b..1899fc387dc638269376c9e7eb406f3dab1aab86 100644 (file)
@@ -483,12 +483,10 @@ public final class BiffViewer {
                    return result;
                }
                private static String formatRecordDetails(int globalOffset, int sid, int size, int recordCounter) {
-                       StringBuilder sb = new StringBuilder(64);
-                       sb.append("Offset=").append(HexDump.intToHex(globalOffset)).append("(").append(globalOffset).append(")");
-                       sb.append(" recno=").append(recordCounter);
-                       sb.append(  " sid=").append(HexDump.shortToHex(sid));
-                       sb.append( " size=").append(HexDump.shortToHex(size)).append("(").append(size).append(")");
-                       return sb.toString();
+            return "Offset=" + HexDump.intToHex(globalOffset) + "(" + globalOffset + ")" +
+                    " recno=" + recordCounter +
+                    " sid=" + HexDump.shortToHex(sid) +
+                    " size=" + HexDump.shortToHex(size) + "(" + size + ")";
                }
        }
 
index fee64cc06d9ed8bb91395df5bbcbf285d470b00d..e50da917b041d47415aeb016032dbb41c62e17cf 100644 (file)
@@ -33,7 +33,6 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellRangeAddressBase;
 import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.ss.util.SheetUtil;
 
 /**
  * Evaluates Conditional Formatting constraints.<p>
@@ -103,7 +102,7 @@ public class ConditionalFormattingEvaluator {
     /**
      * lazy load by sheet since reading can be expensive
      * 
-     * @param sheet
+     * @param sheet The sheet to look at
      * @return unmodifiable list of rules
      */
     protected List<EvaluationConditionalFormatRule> getRules(Sheet sheet) {
@@ -156,9 +155,12 @@ public class ConditionalFormattingEvaluator {
             // compute and cache them
             rules = new ArrayList<>();
             
-            Sheet sheet = null;
-            if (cellRef.getSheetName() != null) sheet = workbook.getSheet(cellRef.getSheetName());
-            else sheet = workbook.getSheetAt(workbook.getActiveSheetIndex());
+            final Sheet sheet;
+            if (cellRef.getSheetName() != null) {
+                sheet = workbook.getSheet(cellRef.getSheetName());
+            } else {
+                sheet = workbook.getSheetAt(workbook.getActiveSheetIndex());
+            }
             
             /*
              * Per Excel help:
@@ -197,7 +199,7 @@ public class ConditionalFormattingEvaluator {
      * formula by the relative position of the current cell, or the wrong value is checked.
      * This is handled by {@link WorkbookEvaluator#evaluate(String, CellReference, CellRangeAddressBase)}.
      * 
-     * @param cell
+     * @param cell The cell to look for
      * @return Unmodifiable List of {@link EvaluationConditionalFormatRule}s that apply to the current cell value,
      *         in priority order, as evaluated by Excel (smallest priority # for XSSF, definition order for HSSF), 
      *         or null if none apply
@@ -211,7 +213,9 @@ public class ConditionalFormattingEvaluator {
     }
     
     /**
-     * @param sheetName
+     * Retrieve all formatting rules for the sheet with the given name.
+     *
+     * @param sheetName The name of the sheet to look at
      * @return unmodifiable list of all Conditional format rules for the given sheet, if any
      */
     public List<EvaluationConditionalFormatRule> getFormatRulesForSheet(String sheetName) {
@@ -219,7 +223,9 @@ public class ConditionalFormattingEvaluator {
     }
     
     /**
-     * @param sheet
+     * Retrieve all formatting rules for the given sheet.
+     *
+     * @param sheet The sheet to look at
      * @return unmodifiable list of all Conditional format rules for the given sheet, if any
      */
     public List<EvaluationConditionalFormatRule> getFormatRulesForSheet(Sheet sheet) {
@@ -247,8 +253,9 @@ public class ConditionalFormattingEvaluator {
     }
     
     /**
+     * Retrieve all cells where the given formatting rule evaluates to true.
      *
-     * @param rule
+     * @param rule The rule to look at
      * @return unmodifiable List of all cells in the rule's region matching the rule's condition
      */
     public List<Cell> getMatchingCells(EvaluationConditionalFormatRule rule) {
index bb378d7e56b9b253f646ea7cdf8fdbef340e66f2..f8a9de5844107ffe3c1e616a286d8ae93c91487c 100644 (file)
@@ -376,7 +376,7 @@ public class SXSSFSheet implements Sheet
         return _sh.getColumnStyle(column);
     }
 
-    /**
+    /*
      * Sets the CellStyle that applies to the given
      *  (0 based) column.
      */
@@ -1131,8 +1131,8 @@ public class SXSSFSheet implements Sheet
 
     /**
      * Determines if there is a page break at the indicated row
-     * @param row FIXME: Document this!
-     * @return FIXME: Document this!
+     * @param row The row to check
+     * @return true if there is a page-break at the given row, false otherwise
      */
     @Override
     public boolean isRowBroken(int row)
@@ -1142,7 +1142,7 @@ public class SXSSFSheet implements Sheet
 
     /**
      * Removes the page break at the indicated row
-     * @param row
+     * @param row The row to remove page breaks from
      */
     @Override
     public void removeRowBreak(int row)
@@ -1172,7 +1172,7 @@ public class SXSSFSheet implements Sheet
 
     /**
      * Sets a page break at the indicated column
-     * @param column
+     * @param column The column to work on
      */
     @Override
     public void setColumnBreak(int column)
@@ -1182,8 +1182,8 @@ public class SXSSFSheet implements Sheet
 
     /**
      * Determines if there is a page break at the indicated column
-     * @param column FIXME: Document this!
-     * @return FIXME: Document this!
+     * @param column The column to check for page breaks
+     * @return true if there is a page break at the given column, false otherwise
      */
     @Override
     public boolean isColumnBroken(int column)
@@ -1193,7 +1193,7 @@ public class SXSSFSheet implements Sheet
 
     /**
      * Removes a page break at the indicated column
-     * @param column
+     * @param column The column to remove a page break from
      */
     @Override
     public void removeColumnBreak(int column)
@@ -1366,7 +1366,7 @@ public class SXSSFSheet implements Sheet
             int startRow = findStartOfRowOutlineGroup(rowIndex);
 
             // Hide all the columns until the end of the group
-            int lastRow = writeHidden(row, startRow, true);
+            int lastRow = writeHidden(row, startRow);
             SXSSFRow lastRowObj = getRow(lastRow); 
             if (lastRowObj != null) {
                 lastRowObj.setCollapsed(true);
@@ -1397,12 +1397,12 @@ public class SXSSFSheet implements Sheet
         return currentRow + 1;
     }
     
-    private int writeHidden(SXSSFRow xRow, int rowIndex, boolean hidden) {
+    private int writeHidden(SXSSFRow xRow, int rowIndex) {
         int level = xRow.getOutlineLevel();
         SXSSFRow currRow = getRow(rowIndex);
 
         while (currRow != null && currRow.getOutlineLevel() >= level) {
-            currRow.setHidden(hidden);
+            currRow.setHidden(true);
             rowIndex++;
             currRow = getRow(rowIndex);
         }
@@ -1637,8 +1637,8 @@ public class SXSSFSheet implements Sheet
     /**
      * Get a Hyperlink in this sheet anchored at row, column
      *
-     * @param row
-     * @param column
+     * @param row The 0-base row number
+     * @param column The 0-based column number
      * @return hyperlink if there is a hyperlink anchored at row, column; otherwise returns null
      */
     @Override
@@ -1860,7 +1860,7 @@ public class SXSSFSheet implements Sheet
     /**
      * Flush all rows to disk. After this call no rows can be accessed via getRow()
      *
-     * @throws IOException
+     * @throws IOException If an I/O error occurs
      */
     public void flushRows() throws IOException
     {
@@ -1889,13 +1889,12 @@ public class SXSSFSheet implements Sheet
 
     public int getRowNum(SXSSFRow row)
     {
-        for(Iterator<Map.Entry<Integer,SXSSFRow>> iter=_rows.entrySet().iterator();iter.hasNext();)
-        {
-            Map.Entry<Integer,SXSSFRow> entry=iter.next();
-            if(entry.getValue()==row) {
+        for (Map.Entry<Integer, SXSSFRow> entry : _rows.entrySet()) {
+            if (entry.getValue() == row) {
                 return entry.getKey().intValue();
             }
         }
+
         return -1;
     }
 
index f65de2eb74e88bee0dca508b76e08085fa927b4f..b385628f76c18e4735d94ce5d6bd9350e22e917c 100644 (file)
@@ -905,8 +905,7 @@ public class SXSSFWorkbook implements Workbook {
      * @exception IOException if anything can't be written.
      */
     @Override
-    public void write(OutputStream stream) throws IOException
-    {
+    public void write(OutputStream stream) throws IOException {
         flushSheets();
 
         //Save the template
index f47c93ebf19359289d1035253a641c75d12f8d76..ab97288d049321226678e9a120dca69f8ddcaf23 100644 (file)
@@ -191,6 +191,8 @@ public class SheetDataWriter implements Closeable {
      *
      * @param rownum 0-based row number
      * @param row    a row
+     *
+     * @throws IOException If an I/O error occurs
      */
     public void writeRow(int rownum, SXSSFRow row) throws IOException {
         if (_numberOfFlushedRows == 0)
index 8c8173695250a43c03cc4a9f566c83e394ae45c3..75eb69b76f35f153840b69134651aabf85fd925f 100644 (file)
@@ -3851,7 +3851,6 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet  {
 
     @Override
     public CellRange<XSSFCell> setArrayFormula(String formula, CellRangeAddress range) {
-
         CellRange<XSSFCell> cr = getCellRange(range);
 
         XSSFCell mainArrayFormulaCell = cr.getTopLeftCell();
index c0e51802fd12d8f670920e481f9dc3fa63dafbf1..2c89085f2dff50b7026b17f073c7f0c4ed964382 100644 (file)
@@ -37,6 +37,7 @@ import org.apache.poi.xwpf.XWPFTestDataSamples;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -229,7 +230,8 @@ public final class TestPOIXMLProperties {
         return utcString.equals(dateTimeUtcString);
     }
 
-    //@Test
+    @Ignore("Fails to add some of the thumbnails, needs more investigation")
+    @Test
     public void testThumbnails() throws Exception {
         POIXMLProperties noThumbProps = sampleNoThumb.getProperties();
 
index 14cb582b3adcfaa5076e154a83f9b16d31f8a581..d7cb2c23adc3906889cb6dedd1485ce0b1db965a 100644 (file)
@@ -43,11 +43,8 @@ public class XWPFTestDataSamples {
     }
 
     public static byte[] getImage(String filename) throws IOException {
-        InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(filename);
-        try {
+        try (InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(filename)) {
             return IOUtils.toByteArray(is);
-        } finally {
-            is.close();
         }
     }
 }
index 4dde7b3bc0f9520d43304504399d11389ef6ba76..a43bc3010ef31c3266a7131857acd6c9dfca746b 100644 (file)
@@ -33,18 +33,16 @@ public abstract class HMEFTest extends TestCase {
       assertEquals(filename, attachment.getLongFilename());
       assertContents(filename, attachment.getContents());
    }
+
    protected void assertContents(String filename, byte[] actual) 
          throws IOException {
-      InputStream stream = _samples.openResourceAsStream("quick-contents/" + filename);
-      try {
-          byte[] expected = IOUtils.toByteArray(stream);
-          
-          assertEquals(expected.length, actual.length);
-          for(int i=0; i<expected.length; i++) {
-              assertEquals("Byte " + i + " wrong", expected[i], actual[i]);
-          }
-      } finally {
-          stream.close();
-      }
+       try (InputStream stream = _samples.openResourceAsStream("quick-contents/" + filename)) {
+           byte[] expected = IOUtils.toByteArray(stream);
+
+           assertEquals(expected.length, actual.length);
+           for (int i = 0; i < expected.length; i++) {
+               assertEquals("Byte " + i + " wrong", expected[i], actual[i]);
+           }
+       }
    }
 }
index 2cfd6449051ae470e82e042747d7b97b2b71fa0a..dc8bf9fdba2eac30c57f20207102e5a4ab6176aa 100644 (file)
@@ -17,6 +17,8 @@
 
 package org.apache.poi.hmef.extractor;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertArrayEquals;
 
@@ -37,7 +39,7 @@ public class TestHMEFContentsExtractor {
         File outputDirectory = TempFile.createTempDirectory("quick-winmail-main");
         String[] args = new String[] { message.getAbsolutePath(), outputDirectory.getAbsolutePath() };
         HMEFContentsExtractor.main(args);
-        
+
         String[] contents = new String[] {
                 "message.rtf", // from extractMessageBody
                 "quick.txt", "quick.pdf", "quick.xml", "quick.doc", "quick.html" // from extractAttachments
@@ -46,11 +48,15 @@ public class TestHMEFContentsExtractor {
         for (String filename : contents) {
             File f = new File(outputDirectory, filename);
             assertTrue(f + " does not exist", f.exists());
+            assertTrue(f.delete());
         }
 
-        outputDirectory.delete();
+        String[] list = outputDirectory.list();
+        assertNotNull(list);
+        assertEquals( "Had: " + Arrays.toString(list), 0, list.length);
+        assertTrue(outputDirectory.delete());
     }
-    
+
     @Test
     public void TestExtractMessageBody_OutputStream() throws IOException {
         POIDataSamples samples = POIDataSamples.getHMEFInstance();
@@ -64,7 +70,7 @@ public class TestHMEFContentsExtractor {
         assertArrayEquals("RTF magic number", expectedMagic, magic);
         out.close();
     }
-    
+
     @Test
     public void TestExtractMessageBody_File() throws IOException {
         POIDataSamples samples = POIDataSamples.getHMEFInstance();
index 014294f16d01307b234d7a8cb8cacf42f680a446..1a199cb54c02485c79fcf9880dcbbe6e9a08c9e7 100644 (file)
@@ -101,12 +101,9 @@ public final class TestNPOIFSFileSystem {
 
     protected static NPOIFSFileSystem writeOutFileAndReadBack(NPOIFSFileSystem original) throws IOException {
         final File file = TempFile.createTempFile("TestPOIFS", ".ole2");
-        final OutputStream fout = new FileOutputStream(file);
-        try {
-            original.writeFilesystem(fout);
-        } finally {
-            fout.close();
-        }
+       try (OutputStream fout = new FileOutputStream(file)) {
+          original.writeFilesystem(fout);
+       }
         return new NPOIFSFileSystem(file, false);
     }
    
@@ -1717,26 +1714,20 @@ public final class TestNPOIFSFileSystem {
       long start = System.currentTimeMillis();
 
       for (int i = 0; i < iterations; i++) {
-         InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg");
-         try {
+         try (InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg")) {
             OPOIFSFileSystem srcFileSystem = new OPOIFSFileSystem(inputStream);
             OPOIFSFileSystem destFileSystem = new OPOIFSFileSystem();
 
             copyAllEntries(srcFileSystem.getRoot(), destFileSystem.getRoot());
 
             File file = File.createTempFile("opoi", ".dat");
-            OutputStream outputStream = new FileOutputStream(file);
-            try {
+            try (OutputStream outputStream = new FileOutputStream(file)) {
                destFileSystem.writeFilesystem(outputStream);
-            } finally {
-               outputStream.close();
             }
 
             assertTrue(file.delete());
             if (i % 10 == 0) System.out.print(".");
             if (i % 800 == 0 && i > 0) System.out.println();
-         } finally {
-            inputStream.close();
          }
       }
 
@@ -1750,26 +1741,20 @@ public final class TestNPOIFSFileSystem {
 
       for (int i = 0; i < iterations; i++) {
 
-         InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg");
-         try {
+         try (InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg")) {
             NPOIFSFileSystem srcFileSystem = new NPOIFSFileSystem(inputStream);
             NPOIFSFileSystem destFileSystem = new NPOIFSFileSystem();
 
             copyAllEntries(srcFileSystem.getRoot(), destFileSystem.getRoot());
 
             File file = File.createTempFile("npoi", ".dat");
-            OutputStream outputStream = new FileOutputStream(file);
-            try {
+            try (OutputStream outputStream = new FileOutputStream(file)) {
                destFileSystem.writeFilesystem(outputStream);
-            } finally {
-               outputStream.close();
             }
 
             assertTrue(file.delete());
             if (i % 10 == 0) System.out.print(".");
             if (i % 800 == 0 && i > 0) System.out.println();
-         } finally {
-            inputStream.close();
          }
       }
 
@@ -1793,11 +1778,8 @@ public final class TestNPOIFSFileSystem {
          } else {
             DocumentEntry srcEntry = (DocumentEntry) entry;
 
-            InputStream inputStream = new DocumentInputStream(srcEntry);
-            try {
+            try (InputStream inputStream = new DocumentInputStream(srcEntry)) {
                destDirectory.createDocument(entry.getName(), inputStream);
-            } finally {
-               inputStream.close();
             }
          }
       }
index 7d25d634f5454526ae02dbfa9d03236fc04cdbf3..a076c1685c19e883b15c2b23b2f4a3fb2d0c222c 100644 (file)
@@ -576,8 +576,8 @@ public abstract class BaseTestSheetUpdateArrayFormulas {
         */
         workbook.close();
     }
-    
-    @Ignore
+
+    @Ignore("See bug 59728")
     @Test
     public void shouldNotBeAbleToCreateArrayFormulaOnPreexistingMergedRegion() throws IOException {
         /*