]> source.dussan.org Git - poi.git/commitdiff
Fix testcases which were not executed before, use tempfile, cleanup, ...
authorDominik Stadler <centic@apache.org>
Tue, 23 Dec 2014 09:26:14 +0000 (09:26 +0000)
committerDominik Stadler <centic@apache.org>
Tue, 23 Dec 2014 09:26:14 +0000 (09:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1647511 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java

index 2f615a57cc98357c1da72432fc50987044dbf2fc..209bded8c4c2e60441efffefea34031023ebe5c1 100644 (file)
@@ -285,43 +285,56 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
        }
 
     @Test
-       public void incrementSheetId() {
+       public void incrementSheetId() throws IOException {
                XSSFWorkbook wb = new XSSFWorkbook();
-               int sheetId = (int)wb.createSheet().sheet.getSheetId();
-               assertEquals(1, sheetId);
-               sheetId = (int)wb.createSheet().sheet.getSheetId();
-               assertEquals(2, sheetId);
-
-               //test file with gaps in the sheetId sequence
-               wb = XSSFTestDataSamples.openSampleWorkbook("47089.xlsm");
-               int lastSheetId = (int)wb.getSheetAt(wb.getNumberOfSheets() - 1).sheet.getSheetId();
-               sheetId = (int)wb.createSheet().sheet.getSheetId();
-               assertEquals(lastSheetId+1, sheetId);
+               try {
+               int sheetId = (int)wb.createSheet().sheet.getSheetId();
+               assertEquals(1, sheetId);
+               sheetId = (int)wb.createSheet().sheet.getSheetId();
+               assertEquals(2, sheetId);
+    
+               //test file with gaps in the sheetId sequence
+               XSSFWorkbook wbBack = XSSFTestDataSamples.openSampleWorkbook("47089.xlsm");
+               try {
+                       int lastSheetId = (int)wbBack.getSheetAt(wbBack.getNumberOfSheets() - 1).sheet.getSheetId();
+                       sheetId = (int)wbBack.createSheet().sheet.getSheetId();
+                       assertEquals(lastSheetId+1, sheetId);
+               } finally {
+                   wbBack.close();
+               }
+               } finally {
+                   wb.close();
+               }
        }
 
        /**
         *  Test setting of core properties such as Title and Author
+        * @throws IOException 
         */
     @Test
-       public void workbookProperties() {
+       public void workbookProperties() throws IOException {
                XSSFWorkbook workbook = new XSSFWorkbook();
-               POIXMLProperties props = workbook.getProperties();
-               assertNotNull(props);
-               //the Application property must be set for new workbooks, see Bugzilla #47559
-               assertEquals("Apache POI", props.getExtendedProperties().getUnderlyingProperties().getApplication());
-
-               PackagePropertiesPart opcProps = props.getCoreProperties().getUnderlyingProperties();
-               assertNotNull(opcProps);
-
-               opcProps.setTitleProperty("Testing Bugzilla #47460");
-               assertEquals("Apache POI", opcProps.getCreatorProperty().getValue());
-               opcProps.setCreatorProperty("poi-dev@poi.apache.org");
-
-               workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
-               assertEquals("Apache POI", workbook.getProperties().getExtendedProperties().getUnderlyingProperties().getApplication());
-               opcProps = workbook.getProperties().getCoreProperties().getUnderlyingProperties();
-               assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue());
-               assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue());
+               try {
+               POIXMLProperties props = workbook.getProperties();
+               assertNotNull(props);
+               //the Application property must be set for new workbooks, see Bugzilla #47559
+               assertEquals("Apache POI", props.getExtendedProperties().getUnderlyingProperties().getApplication());
+    
+               PackagePropertiesPart opcProps = props.getCoreProperties().getUnderlyingProperties();
+               assertNotNull(opcProps);
+    
+               opcProps.setTitleProperty("Testing Bugzilla #47460");
+               assertEquals("Apache POI", opcProps.getCreatorProperty().getValue());
+               opcProps.setCreatorProperty("poi-dev@poi.apache.org");
+    
+               XSSFWorkbook wbBack = XSSFTestDataSamples.writeOutAndReadBack(workbook);
+               assertEquals("Apache POI", wbBack.getProperties().getExtendedProperties().getUnderlyingProperties().getApplication());
+               opcProps = wbBack.getProperties().getCoreProperties().getUnderlyingProperties();
+               assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue());
+               assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue());
+               } finally {
+                   workbook.close();
+               }
        }
 
        /**
@@ -770,33 +783,56 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
 
     @Test
     public void testLoadWorkbookWithPivotTable() throws Exception {
-        String fileName = "ooxml-pivottable.xlsx";
+        File file = TempFile.createTempFile("ooxml-pivottable", ".xlsx");
 
         XSSFWorkbook wb = new XSSFWorkbook();
-        setPivotData(wb);
-
-        FileOutputStream fileOut = new FileOutputStream(fileName);
-        wb.write(fileOut);
-        fileOut.close();
+        try {
+            setPivotData(wb);
+    
+            FileOutputStream fileOut = new FileOutputStream(file);
+            wb.write(fileOut);
+            fileOut.close();
+        } finally {
+            wb.close();
+        }
 
-        XSSFWorkbook wb2 = (XSSFWorkbook) WorkbookFactory.create(new File(fileName));
-        assertTrue(wb2.getPivotTables().size() == 1);
+        XSSFWorkbook wb2 = (XSSFWorkbook) WorkbookFactory.create(file);
+        try {
+            assertTrue(wb2.getPivotTables().size() == 1);
+        } finally {
+            wb2.close();
+        }
+        
+        assertTrue(file.delete());
     }
 
     @Test
     public void testAddPivotTableToWorkbookWithLoadedPivotTable() throws Exception {
-        String fileName = "ooxml-pivottable.xlsx";
+        File file = TempFile.createTempFile("ooxml-pivottable", ".xlsx");
 
         XSSFWorkbook wb = new XSSFWorkbook();
-        setPivotData(wb);
-
-        FileOutputStream fileOut = new FileOutputStream(fileName);
-        wb.write(fileOut);
-        fileOut.close();
+        try {
+            setPivotData(wb);
+    
+            FileOutputStream fileOut = new FileOutputStream(file);
+            try {
+                wb.write(fileOut);
+            } finally {
+                fileOut.close();
+            }
+        } finally {
+            wb.close();
+        }
 
-        XSSFWorkbook wb2 = (XSSFWorkbook) WorkbookFactory.create(new File(fileName));
-        setPivotData(wb2);
-        assertTrue(wb2.getPivotTables().size() == 2);
+        XSSFWorkbook wb2 = (XSSFWorkbook) WorkbookFactory.create(file);
+        try {
+            setPivotData(wb2);
+            assertTrue(wb2.getPivotTables().size() == 2);
+        } finally {
+            wb2.close();
+        }
+        
+        assertTrue(file.delete());
     }
     
     @Test