]> source.dussan.org Git - poi.git/commitdiff
Close more file-handles in tests and convert some more tests to junit-4
authorDominik Stadler <centic@apache.org>
Sun, 7 Apr 2019 07:17:34 +0000 (07:17 +0000)
committerDominik Stadler <centic@apache.org>
Sun, 7 Apr 2019 07:17:34 +0000 (07:17 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857066 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xssf/model/TestExternalLinksTable.java
src/ooxml/testcases/org/apache/poi/xssf/model/TestMapInfo.java
src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFFootnotes.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java
src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java

index 1fbf86a335ccb410346ccad4a26c1f5c61ba9f0f..4c76fdf481bd580a3294c507bab50d044926a134 100644 (file)
@@ -19,126 +19,128 @@ package org.apache.poi.xssf.model;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import org.apache.poi.ss.usermodel.Name;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.junit.Test;
 
+import java.io.IOException;
+
 public final class TestExternalLinksTable {
     @Test
-    public void none() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("SampleSS.xlsx");
-        assertNotNull(wb.getExternalLinksTable());
-        assertEquals(0, wb.getExternalLinksTable().size());
+    public void none() throws IOException {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("SampleSS.xlsx")) {
+            assertNotNull(wb.getExternalLinksTable());
+            assertEquals(0, wb.getExternalLinksTable().size());
+        }
     }
     
     @Test
-    public void basicRead() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref-56737.xlsx");
-        assertNotNull(wb.getExternalLinksTable());
-        Name name = null;
-
-        assertEquals(1, wb.getExternalLinksTable().size());
-
-        ExternalLinksTable links = wb.getExternalLinksTable().get(0);
-        assertEquals(3, links.getSheetNames().size());
-        assertEquals(2, links.getDefinedNames().size());
-        
-        assertEquals("Uses",    links.getSheetNames().get(0));
-        assertEquals("Defines", links.getSheetNames().get(1));
-        assertEquals("56737",   links.getSheetNames().get(2));
-        
-        name = links.getDefinedNames().get(0);
-        assertEquals("NR_Global_B2", name.getNameName());
-        assertEquals(-1, name.getSheetIndex());
-        assertEquals(null, name.getSheetName());
-        assertEquals("'Defines'!$B$2", name.getRefersToFormula());
-        
-        name = links.getDefinedNames().get(1);
-        assertEquals("NR_To_A1", name.getNameName());
-        assertEquals(1, name.getSheetIndex());
-        assertEquals("Defines", name.getSheetName());
-        assertEquals("'Defines'!$A$1", name.getRefersToFormula());
-        
-        assertEquals("56737.xlsx", links.getLinkedFileName());
+    public void basicRead() throws IOException {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref-56737.xlsx")) {
+            assertNotNull(wb.getExternalLinksTable());
+            assertEquals(1, wb.getExternalLinksTable().size());
+
+            ExternalLinksTable links = wb.getExternalLinksTable().get(0);
+            assertEquals(3, links.getSheetNames().size());
+            assertEquals(2, links.getDefinedNames().size());
+
+            assertEquals("Uses", links.getSheetNames().get(0));
+            assertEquals("Defines", links.getSheetNames().get(1));
+            assertEquals("56737", links.getSheetNames().get(2));
+
+            Name name = links.getDefinedNames().get(0);
+            assertEquals("NR_Global_B2", name.getNameName());
+            assertEquals(-1, name.getSheetIndex());
+            assertNull(name.getSheetName());
+            assertEquals("'Defines'!$B$2", name.getRefersToFormula());
+
+            name = links.getDefinedNames().get(1);
+            assertEquals("NR_To_A1", name.getNameName());
+            assertEquals(1, name.getSheetIndex());
+            assertEquals("Defines", name.getSheetName());
+            assertEquals("'Defines'!$A$1", name.getRefersToFormula());
+
+            assertEquals("56737.xlsx", links.getLinkedFileName());
+        }
     }
     
     @Test
-    public void basicReadWriteRead() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref-56737.xlsx");
-        Name name = wb.getExternalLinksTable().get(0).getDefinedNames().get(1);
-        name.setNameName("Testing");
-        name.setRefersToFormula("$A$1");
-        
-        wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
-        assertEquals(1, wb.getExternalLinksTable().size());
-        ExternalLinksTable links = wb.getExternalLinksTable().get(0);
-        
-        name = links.getDefinedNames().get(0);
-        assertEquals("NR_Global_B2", name.getNameName());
-        assertEquals(-1, name.getSheetIndex());
-        assertEquals(null, name.getSheetName());
-        assertEquals("'Defines'!$B$2", name.getRefersToFormula());
-        
-        name = links.getDefinedNames().get(1);
-        assertEquals("Testing", name.getNameName());
-        assertEquals(1, name.getSheetIndex());
-        assertEquals("Defines", name.getSheetName());
-        assertEquals("$A$1", name.getRefersToFormula());
+    public void basicReadWriteRead() throws IOException {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref-56737.xlsx")) {
+            Name name = wb.getExternalLinksTable().get(0).getDefinedNames().get(1);
+            name.setNameName("Testing");
+            name.setRefersToFormula("$A$1");
+
+            XSSFWorkbook wbBack = XSSFTestDataSamples.writeOutAndReadBack(wb);
+            assertEquals(1, wbBack.getExternalLinksTable().size());
+            ExternalLinksTable links = wbBack.getExternalLinksTable().get(0);
+
+            name = links.getDefinedNames().get(0);
+            assertEquals("NR_Global_B2", name.getNameName());
+            assertEquals(-1, name.getSheetIndex());
+            assertNull(name.getSheetName());
+            assertEquals("'Defines'!$B$2", name.getRefersToFormula());
+
+            name = links.getDefinedNames().get(1);
+            assertEquals("Testing", name.getNameName());
+            assertEquals(1, name.getSheetIndex());
+            assertEquals("Defines", name.getSheetName());
+            assertEquals("$A$1", name.getRefersToFormula());
+        }
     }
     
     @Test
-    public void readWithReferencesToTwoExternalBooks() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref2-56737.xlsx");
-        
-        assertNotNull(wb.getExternalLinksTable());
-        Name name = null;
-
-        assertEquals(2, wb.getExternalLinksTable().size());
-
-        // Check the first one, links to 56737.xlsx
-        ExternalLinksTable links = wb.getExternalLinksTable().get(0);
-        assertEquals("56737.xlsx", links.getLinkedFileName());
-        assertEquals(3, links.getSheetNames().size());
-        assertEquals(2, links.getDefinedNames().size());
-        
-        assertEquals("Uses",    links.getSheetNames().get(0));
-        assertEquals("Defines", links.getSheetNames().get(1));
-        assertEquals("56737",   links.getSheetNames().get(2));
-        
-        name = links.getDefinedNames().get(0);
-        assertEquals("NR_Global_B2", name.getNameName());
-        assertEquals(-1, name.getSheetIndex());
-        assertEquals(null, name.getSheetName());
-        assertEquals("'Defines'!$B$2", name.getRefersToFormula());
-        
-        name = links.getDefinedNames().get(1);
-        assertEquals("NR_To_A1", name.getNameName());
-        assertEquals(1, name.getSheetIndex());
-        assertEquals("Defines", name.getSheetName());
-        assertEquals("'Defines'!$A$1", name.getRefersToFormula());
-
-        
-        // Check the second one, links to 56737.xls, slightly differently
-        links = wb.getExternalLinksTable().get(1);
-        assertEquals("56737.xls", links.getLinkedFileName());
-        assertEquals(2, links.getSheetNames().size());
-        assertEquals(2, links.getDefinedNames().size());
-        
-        assertEquals("Uses",    links.getSheetNames().get(0));
-        assertEquals("Defines", links.getSheetNames().get(1));
-        
-        name = links.getDefinedNames().get(0);
-        assertEquals("NR_Global_B2", name.getNameName());
-        assertEquals(-1, name.getSheetIndex());
-        assertEquals(null, name.getSheetName());
-        assertEquals("'Defines'!$B$2", name.getRefersToFormula());
-        
-        name = links.getDefinedNames().get(1);
-        assertEquals("NR_To_A1", name.getNameName());
-        assertEquals(1, name.getSheetIndex());
-        assertEquals("Defines", name.getSheetName());
-        assertEquals("'Defines'!$A$1", name.getRefersToFormula());
+    public void readWithReferencesToTwoExternalBooks() throws IOException {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("ref2-56737.xlsx")) {
+            assertNotNull(wb.getExternalLinksTable());
+            assertEquals(2, wb.getExternalLinksTable().size());
+
+            // Check the first one, links to 56737.xlsx
+            ExternalLinksTable links = wb.getExternalLinksTable().get(0);
+            assertEquals("56737.xlsx", links.getLinkedFileName());
+            assertEquals(3, links.getSheetNames().size());
+            assertEquals(2, links.getDefinedNames().size());
+
+            assertEquals("Uses", links.getSheetNames().get(0));
+            assertEquals("Defines", links.getSheetNames().get(1));
+            assertEquals("56737", links.getSheetNames().get(2));
+
+            Name name = links.getDefinedNames().get(0);
+            assertEquals("NR_Global_B2", name.getNameName());
+            assertEquals(-1, name.getSheetIndex());
+            assertNull(name.getSheetName());
+            assertEquals("'Defines'!$B$2", name.getRefersToFormula());
+
+            name = links.getDefinedNames().get(1);
+            assertEquals("NR_To_A1", name.getNameName());
+            assertEquals(1, name.getSheetIndex());
+            assertEquals("Defines", name.getSheetName());
+            assertEquals("'Defines'!$A$1", name.getRefersToFormula());
+
+
+            // Check the second one, links to 56737.xls, slightly differently
+            links = wb.getExternalLinksTable().get(1);
+            assertEquals("56737.xls", links.getLinkedFileName());
+            assertEquals(2, links.getSheetNames().size());
+            assertEquals(2, links.getDefinedNames().size());
+
+            assertEquals("Uses", links.getSheetNames().get(0));
+            assertEquals("Defines", links.getSheetNames().get(1));
+
+            name = links.getDefinedNames().get(0);
+            assertEquals("NR_Global_B2", name.getNameName());
+            assertEquals(-1, name.getSheetIndex());
+            assertNull(name.getSheetName());
+            assertEquals("'Defines'!$B$2", name.getRefersToFormula());
+
+            name = links.getDefinedNames().get(1);
+            assertEquals("NR_To_A1", name.getNameName());
+            assertEquals(1, name.getSheetIndex());
+            assertEquals("Defines", name.getSheetName());
+            assertEquals("'Defines'!$A$1", name.getRefersToFormula());
+        }
     }
 }
index 4c32b9ec90bca8c61a16a18199f20afb848c0d34..30f0d0a02e3ccee32ddc69252b1283bbb7a29ee9 100644 (file)
 ==================================================================== */
 package org.apache.poi.xssf.model;
 
-import junit.framework.TestCase;
-
 import org.apache.poi.ooxml.POIXMLDocumentPart;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.usermodel.XSSFMap;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMapInfo;
 import org.w3c.dom.Node;
 
+import java.io.IOException;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 /**
  * @author Roberto Manicardi
  */
-public final class TestMapInfo extends TestCase {
-
-
-    public void testMapInfoExists() {
+public final class TestMapInfo {
+    @Test
+    public void testMapInfoExists() throws IOException {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings.xlsx")) {
 
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings.xlsx");
+            MapInfo mapInfo = null;
+            SingleXmlCells singleXMLCells = null;
 
-        MapInfo mapInfo = null;
-        SingleXmlCells singleXMLCells = null;
+            for (POIXMLDocumentPart p : wb.getRelations()) {
 
-        for (POIXMLDocumentPart p : wb.getRelations()) {
 
+                if (p instanceof MapInfo) {
+                    mapInfo = (MapInfo) p;
 
-            if (p instanceof MapInfo) {
-                mapInfo = (MapInfo) p;
 
+                    CTMapInfo ctMapInfo = mapInfo.getCTMapInfo();
 
-                CTMapInfo ctMapInfo = mapInfo.getCTMapInfo();
+                    assertNotNull(ctMapInfo);
 
-                assertNotNull(ctMapInfo);
+                    assertEquals(1, ctMapInfo.sizeOfSchemaArray());
 
-                assertEquals(1, ctMapInfo.sizeOfSchemaArray());
-
-                for (XSSFMap map : mapInfo.getAllXSSFMaps()) {
-                    Node xmlSchema = map.getSchema();
-                    assertNotNull(xmlSchema);
+                    for (XSSFMap map : mapInfo.getAllXSSFMaps()) {
+                        Node xmlSchema = map.getSchema();
+                        assertNotNull(xmlSchema);
+                    }
                 }
             }
-        }
 
-        XSSFSheet sheet1 = wb.getSheetAt(0);
+            XSSFSheet sheet1 = wb.getSheetAt(0);
 
-        for (POIXMLDocumentPart p : sheet1.getRelations()) {
+            for (POIXMLDocumentPart p : sheet1.getRelations()) {
 
-            if (p instanceof SingleXmlCells) {
-                singleXMLCells = (SingleXmlCells) p;
-            }
+                if (p instanceof SingleXmlCells) {
+                    singleXMLCells = (SingleXmlCells) p;
+                }
 
+            }
+            assertNotNull(mapInfo);
+            assertNotNull(singleXMLCells);
         }
-        assertNotNull(mapInfo);
-        assertNotNull(singleXMLCells);
     }
 }
index 1a207c2366bcd1adf6716fb0389ee1fbdac5d3a9..94435c6019c4ffea39de4d837098e68d3b530fcf 100644 (file)
@@ -57,47 +57,50 @@ public final class TestStylesTable {
     }
 
     @Test
-    public void testCreateSaveLoad() {
-        XSSFWorkbook wb = new XSSFWorkbook();
-        StylesTable st = wb.getStylesSource();
+    public void testCreateSaveLoad() throws IOException {
+        try (XSSFWorkbook wb = new XSSFWorkbook()) {
+            StylesTable st = wb.getStylesSource();
 
-        assertNotNull(st.getCTStylesheet());
-        assertEquals(1, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(0, st.getNumDataFormats());
+            assertNotNull(st.getCTStylesheet());
+            assertEquals(1, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(0, st.getNumDataFormats());
 
-        st = XSSFTestDataSamples.writeOutAndReadBack(wb).getStylesSource();
+            st = XSSFTestDataSamples.writeOutAndReadBack(wb).getStylesSource();
 
-        assertNotNull(st.getCTStylesheet());
-        assertEquals(1, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(0, st.getNumDataFormats());
-        
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
+            assertNotNull(st.getCTStylesheet());
+            assertEquals(1, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(0, st.getNumDataFormats());
+
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
+        }
     }
 
     @Test
-    public void testLoadExisting() {
-        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
-        assertNotNull(workbook.getStylesSource());
+    public void testLoadExisting() throws IOException {
+        try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile)) {
+            assertNotNull(workbook.getStylesSource());
 
-        StylesTable st = workbook.getStylesSource();
+            StylesTable st = workbook.getStylesSource();
 
-        doTestExisting(st);
-        
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+            doTestExisting(st);
+
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+        }
     }
 
     @Test
-    public void testLoadSaveLoad() {
-        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
-        assertNotNull(workbook.getStylesSource());
+    public void testLoadSaveLoad() throws IOException {
+        try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile)) {
+            assertNotNull(workbook.getStylesSource());
 
-        StylesTable st = workbook.getStylesSource();
-        doTestExisting(st);
+            StylesTable st = workbook.getStylesSource();
+            doTestExisting(st);
 
-        st = XSSFTestDataSamples.writeOutAndReadBack(workbook).getStylesSource();
-        doTestExisting(st);
+            st = XSSFTestDataSamples.writeOutAndReadBack(workbook).getStylesSource();
+            doTestExisting(st);
+        }
     }
 
     public void doTestExisting(StylesTable st) {
@@ -128,61 +131,63 @@ public final class TestStylesTable {
     }
 
     @Test
-    public void populateNew() {
-        XSSFWorkbook wb = new XSSFWorkbook();
-        StylesTable st = wb.getStylesSource();
+    public void populateNew() throws IOException {
+        try (XSSFWorkbook wb = new XSSFWorkbook()) {
+            StylesTable st = wb.getStylesSource();
 
-        assertNotNull(st.getCTStylesheet());
-        assertEquals(1, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(0, st.getNumDataFormats());
+            assertNotNull(st.getCTStylesheet());
+            assertEquals(1, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(0, st.getNumDataFormats());
 
-        int nf1 = st.putNumberFormat("yyyy-mm-dd");
-        int nf2 = st.putNumberFormat("yyyy-mm-DD");
-        assertEquals(nf1, st.putNumberFormat("yyyy-mm-dd"));
+            int nf1 = st.putNumberFormat("yyyy-mm-dd");
+            int nf2 = st.putNumberFormat("yyyy-mm-DD");
+            assertEquals(nf1, st.putNumberFormat("yyyy-mm-dd"));
 
-        st.putStyle(new XSSFCellStyle(st));
+            st.putStyle(new XSSFCellStyle(st));
 
-        // Save and re-load
-        st = XSSFTestDataSamples.writeOutAndReadBack(wb).getStylesSource();
+            // Save and re-load
+            st = XSSFTestDataSamples.writeOutAndReadBack(wb).getStylesSource();
 
-        assertNotNull(st.getCTStylesheet());
-        assertEquals(2, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(2, st.getNumDataFormats());
+            assertNotNull(st.getCTStylesheet());
+            assertEquals(2, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(2, st.getNumDataFormats());
 
-        assertEquals("yyyy-mm-dd", st.getNumberFormatAt((short)nf1));
-        assertEquals(nf1, st.putNumberFormat("yyyy-mm-dd"));
-        assertEquals(nf2, st.putNumberFormat("yyyy-mm-DD"));
-        
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
+            assertEquals("yyyy-mm-dd", st.getNumberFormatAt((short) nf1));
+            assertEquals(nf1, st.putNumberFormat("yyyy-mm-dd"));
+            assertEquals(nf2, st.putNumberFormat("yyyy-mm-DD"));
+
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
+        }
     }
 
     @Test
-    public void populateExisting() {
-        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile);
-        assertNotNull(workbook.getStylesSource());
+    public void populateExisting() throws IOException {
+        try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook(testFile)) {
+            assertNotNull(workbook.getStylesSource());
 
-        StylesTable st = workbook.getStylesSource();
-        assertEquals(11, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(8, st.getNumDataFormats());
+            StylesTable st = workbook.getStylesSource();
+            assertEquals(11, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(8, st.getNumDataFormats());
 
-        int nf1 = st.putNumberFormat("YYYY-mm-dd");
-        int nf2 = st.putNumberFormat("YYYY-mm-DD");
-        assertEquals(nf1, st.putNumberFormat("YYYY-mm-dd"));
+            int nf1 = st.putNumberFormat("YYYY-mm-dd");
+            int nf2 = st.putNumberFormat("YYYY-mm-DD");
+            assertEquals(nf1, st.putNumberFormat("YYYY-mm-dd"));
 
-        st = XSSFTestDataSamples.writeOutAndReadBack(workbook).getStylesSource();
+            st = XSSFTestDataSamples.writeOutAndReadBack(workbook).getStylesSource();
 
-        assertEquals(11, st._getXfsSize());
-        assertEquals(1, st._getStyleXfsSize());
-        assertEquals(10, st.getNumDataFormats());
+            assertEquals(11, st._getXfsSize());
+            assertEquals(1, st._getStyleXfsSize());
+            assertEquals(10, st.getNumDataFormats());
 
-        assertEquals("YYYY-mm-dd", st.getNumberFormatAt((short)nf1));
-        assertEquals(nf1, st.putNumberFormat("YYYY-mm-dd"));
-        assertEquals(nf2, st.putNumberFormat("YYYY-mm-DD"));
-        
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+            assertEquals("YYYY-mm-dd", st.getNumberFormatAt((short) nf1));
+            assertEquals(nf1, st.putNumberFormat("YYYY-mm-dd"));
+            assertEquals(nf2, st.putNumberFormat("YYYY-mm-DD"));
+
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+        }
     }
     
     @Test
@@ -298,7 +303,6 @@ public final class TestStylesTable {
     
     @Test
     public void addDataFormatsBeyondUpperLimit() throws IOException {
-
         try (XSSFWorkbook wb = new XSSFWorkbook()) {
             StylesTable styles = wb.getStylesSource();
             styles.setMaxNumberOfDataFormats(0);
@@ -317,7 +321,6 @@ public final class TestStylesTable {
     
     @Test
     public void decreaseUpperLimitBelowCurrentNumDataFormats() throws IOException {
-
         try (XSSFWorkbook wb = new XSSFWorkbook()) {
             StylesTable styles = wb.getStylesSource();
             styles.putNumberFormat(customDataFormat);
@@ -335,27 +338,29 @@ public final class TestStylesTable {
     }
 
     @Test
-    public void testLoadWithAlternateContent() {
-        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("style-alternate-content.xlsx");
-        assertNotNull(workbook.getStylesSource());
+    public void testLoadWithAlternateContent() throws IOException {
+        try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("style-alternate-content.xlsx")) {
+            assertNotNull(workbook.getStylesSource());
 
-        StylesTable st = workbook.getStylesSource();
-        assertNotNull(st);
+            StylesTable st = workbook.getStylesSource();
+            assertNotNull(st);
 
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+        }
     }
 
     @Test
-    public void testReplaceStyle() {
-        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("style-alternate-content.xlsx");
-        assertNotNull(workbook.getStylesSource());
+    public void testReplaceStyle() throws IOException {
+        try (XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("style-alternate-content.xlsx")) {
+            assertNotNull(workbook.getStylesSource());
 
-        StylesTable st = workbook.getStylesSource();
-        assertNotNull(st);
+            StylesTable st = workbook.getStylesSource();
+            assertNotNull(st);
 
-        st.replaceCellStyleXfAt(0, st.getCellStyleXfAt(1));
-        st.replaceCellStyleXfAt(1, st.getCellStyleXfAt(1));
+            st.replaceCellStyleXfAt(0, st.getCellStyleXfAt(1));
+            st.replaceCellStyleXfAt(1, st.getCellStyleXfAt(1));
 
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+            assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(workbook));
+        }
     }
 }
index 719fbb9d35970bfe79ef2ae9cc73354592e96a70..62c9670479118c4a51f4fed940f9eb23f6567463 100644 (file)
@@ -24,6 +24,7 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.xddf.usermodel.chart.XDDFBarChartData;
 import org.apache.poi.xddf.usermodel.chart.XDDFChartData;
 import org.apache.poi.xwpf.XWPFTestDataSamples;
+import org.junit.Test;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTChart;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTTx;
@@ -31,20 +32,23 @@ import org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-public class TestXWPFChart extends TestCase {
+public class TestXWPFChart {
 
     /**
      * test method to check charts are not null
      */
+    @Test
     public void testRead() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx");
-        List<XWPFChart> charts = sampleDoc.getCharts();
-        assertNotNull(charts);
-        assertEquals(2, charts.size());
-        checkData(charts.get(0));
-        checkData(charts.get(1));
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx")) {
+            List<XWPFChart> charts = sampleDoc.getCharts();
+            assertNotNull(charts);
+            assertEquals(2, charts.size());
+            checkData(charts.get(0));
+            checkData(charts.get(1));
+        }
     }
 
     private void checkData(XWPFChart chart) {
@@ -58,58 +62,63 @@ public class TestXWPFChart extends TestCase {
     /**
      * test method to add chart title and check whether it's set
      */
+    @Test
     public void testChartTitle() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx");
-        List<XWPFChart> charts = sampleDoc.getCharts();
-        XWPFChart chart = charts.get(0);
-        CTChart ctChart = chart.getCTChart();
-        CTTitle title = ctChart.getTitle();
-        CTTx tx = title.addNewTx();
-        CTTextBody rich = tx.addNewRich();
-        rich.addNewBodyPr();
-        rich.addNewLstStyle();
-        CTTextParagraph p = rich.addNewP();
-        CTRegularTextRun r = p.addNewR();
-        r.addNewRPr();
-        r.setT("XWPF CHART");
-        assertEquals("XWPF CHART", chart.getCTChart().getTitle().getTx().getRich().getPArray(0).getRArray(0).getT());
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx")) {
+            List<XWPFChart> charts = sampleDoc.getCharts();
+            XWPFChart chart = charts.get(0);
+            CTChart ctChart = chart.getCTChart();
+            CTTitle title = ctChart.getTitle();
+            CTTx tx = title.addNewTx();
+            CTTextBody rich = tx.addNewRich();
+            rich.addNewBodyPr();
+            rich.addNewLstStyle();
+            CTTextParagraph p = rich.addNewP();
+            CTRegularTextRun r = p.addNewR();
+            r.addNewRPr();
+            r.setT("XWPF CHART");
+            assertEquals("XWPF CHART", chart.getCTChart().getTitle().getTx().getRich().getPArray(0).getRArray(0).getT());
+        }
     }
 
     /**
      * test method to check relationship
      */
+    @Test
     public void testChartRelation() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx");
-        List<XWPFChart> charts = sampleDoc.getCharts();
-        XWPFChart chart = charts.get(0);
-        assertEquals(XWPFRelation.CHART.getContentType(), chart.getPackagePart().getContentType());
-        assertEquals("/word/document.xml", chart.getParent().getPackagePart().getPartName().getName());
-        assertEquals("/word/charts/chart1.xml", chart.getPackagePart().getPartName().getName());
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("61745.docx")) {
+            List<XWPFChart> charts = sampleDoc.getCharts();
+            XWPFChart chart = charts.get(0);
+            assertEquals(XWPFRelation.CHART.getContentType(), chart.getPackagePart().getContentType());
+            assertEquals("/word/document.xml", chart.getParent().getPackagePart().getPartName().getName());
+            assertEquals("/word/charts/chart1.xml", chart.getPackagePart().getPartName().getName());
+        }
     }
 
     /**
      * test method to check adding chart in document
      */
-    public static void testAddChartsToNewDocument() throws InvalidFormatException, IOException {
-
-        XWPFDocument document = new XWPFDocument();
-
-        XWPFChart chart = document.createChart();
-        assertEquals(1, document.getCharts().size());
-        assertNotNull(chart);
-        assertNotNull(chart.getCTChartSpace());
-        assertNotNull(chart.getCTChart());
-        assertEquals(XWPFChart.DEFAULT_HEIGHT, chart.getChartHeight());
-        assertEquals(XWPFChart.DEFAULT_WIDTH, chart.getChartWidth());
-
-        XWPFChart chart2 = document.createChart();
-        assertEquals(2, document.getCharts().size());
-        assertNotNull(chart2);
-        assertNotNull(chart2.getCTChartSpace());
-        assertNotNull(chart2.getCTChart());
-        chart.setChartHeight(500500);
-        assertEquals(500500, chart.getChartHeight());
-
-        assertNotNull(XWPFTestDataSamples.writeOutAndReadBack(document));
+    @Test
+    public void testAddChartsToNewDocument() throws InvalidFormatException, IOException {
+        try (XWPFDocument document = new XWPFDocument()) {
+
+            XWPFChart chart = document.createChart();
+            assertEquals(1, document.getCharts().size());
+            assertNotNull(chart);
+            assertNotNull(chart.getCTChartSpace());
+            assertNotNull(chart.getCTChart());
+            assertEquals(XWPFChart.DEFAULT_HEIGHT, chart.getChartHeight());
+            assertEquals(XWPFChart.DEFAULT_WIDTH, chart.getChartWidth());
+
+            XWPFChart chart2 = document.createChart();
+            assertEquals(2, document.getCharts().size());
+            assertNotNull(chart2);
+            assertNotNull(chart2.getCTChartSpace());
+            assertNotNull(chart2.getCTChart());
+            chart.setChartHeight(500500);
+            assertEquals(500500, chart.getChartHeight());
+
+            assertNotNull(XWPFTestDataSamples.writeOutAndReadBack(document));
+        }
     }
 }
index 1071f40c7968fe6f0079aa4cdf272f244ad30914..1f496f28405b890135b1b6ff466a290b176ba971 100644 (file)
@@ -22,61 +22,66 @@ import java.math.BigInteger;
 import java.util.List;
 
 import org.apache.poi.xwpf.XWPFTestDataSamples;
+import org.junit.Test;
 import org.openxmlformats.schemas.wordprocessingml.x2006.main.STFtnEdn;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
-public class TestXWPFFootnotes extends TestCase {
-    
+public class TestXWPFFootnotes {
+    @Test
     public void testCreateFootnotes() throws IOException{
-        XWPFDocument docOut = new XWPFDocument();
-
-        XWPFAbstractFootnotesEndnotes footnotes = docOut.createFootnotes();
-        
-        assertNotNull(footnotes);
-        
-        XWPFAbstractFootnotesEndnotes secondFootnotes = docOut.createFootnotes();
-        
-        assertSame(footnotes, secondFootnotes);
-        
-        docOut.close();
+        try (XWPFDocument docOut = new XWPFDocument()) {
+
+            XWPFAbstractFootnotesEndnotes footnotes = docOut.createFootnotes();
+
+            assertNotNull(footnotes);
+
+            XWPFAbstractFootnotesEndnotes secondFootnotes = docOut.createFootnotes();
+
+            assertSame(footnotes, secondFootnotes);
+        }
     }
 
+    @Test
     public void testAddFootnotesToDocument() throws IOException {
-        XWPFDocument docOut = new XWPFDocument();
+        try (XWPFDocument docOut = new XWPFDocument()) {
 
-        // NOTE: XWPFDocument.createFootnote() delegates directly
-        //       to XWPFFootnotes.createFootnote() so this tests
-        //       both creation of new XWPFFootnotes in document
-        //       and XWPFFootnotes.createFootnote();
-        XWPFFootnote footnote = docOut.createFootnote();
-        BigInteger noteId = footnote.getId();
+            // NOTE: XWPFDocument.createFootnote() delegates directly
+            //       to XWPFFootnotes.createFootnote() so this tests
+            //       both creation of new XWPFFootnotes in document
+            //       and XWPFFootnotes.createFootnote();
+            XWPFFootnote footnote = docOut.createFootnote();
+            BigInteger noteId = footnote.getId();
 
-        XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut);
+            XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut);
 
-        XWPFFootnote note = docIn.getFootnoteByID(noteId.intValue());
-        assertNotNull(note);
-        assertEquals(STFtnEdn.NORMAL, note.getCTFtnEdn().getType());
+            XWPFFootnote note = docIn.getFootnoteByID(noteId.intValue());
+            assertNotNull(note);
+            assertEquals(STFtnEdn.NORMAL, note.getCTFtnEdn().getType());
+        }
     }
 
     /**
      * Bug 55066 - avoid double loading the footnotes
      */
+    @Test
     public void testLoadFootnotesOnce() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug54849.docx");
-        List<XWPFFootnote> footnotes = doc.getFootnotes();
-        int hits = 0;
-        for (XWPFFootnote fn : footnotes) {
-            for (IBodyElement e : fn.getBodyElements()) {
-                if (e instanceof XWPFParagraph) {
-                    String txt = ((XWPFParagraph) e).getText();
-                    if (txt.contains("Footnote_sdt")) {
-                        hits++;
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug54849.docx")) {
+            List<XWPFFootnote> footnotes = doc.getFootnotes();
+            int hits = 0;
+            for (XWPFFootnote fn : footnotes) {
+                for (IBodyElement e : fn.getBodyElements()) {
+                    if (e instanceof XWPFParagraph) {
+                        String txt = ((XWPFParagraph) e).getText();
+                        if (txt.contains("Footnote_sdt")) {
+                            hits++;
+                        }
                     }
                 }
             }
+            assertEquals("Load footnotes once", 1, hits);
         }
-        assertEquals("Load footnotes once", 1, hits);
     }
 }
-
index fbb24f5062025b6042d9a65c260db8d3b8e57c7c..d76309ae9934b4b3a90c0a225dd2c75b07b6e943 100644 (file)
@@ -34,171 +34,175 @@ public final class TestXWPFHeader {
 
     @Test
     public void testSimpleHeader() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerFooter.docx");
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerFooter.docx")) {
 
-        XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
+            XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
 
-        XWPFHeader header = policy.getDefaultHeader();
-        XWPFFooter footer = policy.getDefaultFooter();
-        assertNotNull(header);
-        assertNotNull(footer);
+            XWPFHeader header = policy.getDefaultHeader();
+            XWPFFooter footer = policy.getDefaultFooter();
+            assertNotNull(header);
+            assertNotNull(footer);
+        }
     }
 
     @Test
     public void testImageInHeader() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerPic.docx");
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerPic.docx")) {
 
-        XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
+            XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
 
-        XWPFHeader header = policy.getDefaultHeader();
+            XWPFHeader header = policy.getDefaultHeader();
 
-        assertNotNull(header.getRelations());
-        assertEquals(1, header.getRelations().size());
+            assertNotNull(header.getRelations());
+            assertEquals(1, header.getRelations().size());
+        }
     }
 
     @Test
     public void testSetHeader() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx");
-        // no header is set (yet)
-        XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
-        assertNull(policy.getDefaultHeader());
-        assertNull(policy.getFirstPageHeader());
-        assertNull(policy.getDefaultFooter());
-        assertNull(policy.getFirstPageFooter());
-
-        CTP ctP1 = CTP.Factory.newInstance();
-        CTR ctR1 = ctP1.addNewR();
-        CTText t = ctR1.addNewT();
-        String tText = "Paragraph in header";
-        t.setStringValue(tText);
-
-        // Commented MB 23 May 2010
-        //CTP ctP2 = CTP.Factory.newInstance();
-        //CTR ctR2 = ctP2.addNewR();
-        //CTText t2 = ctR2.addNewT();
-        //t2.setStringValue("Second paragraph.. for footer");
-
-        // Create two paragraphs for insertion into the footer.
-        // Previously only one was inserted MB 23 May 2010
-        CTP ctP2 = CTP.Factory.newInstance();
-        CTR ctR2 = ctP2.addNewR();
-        CTText t2 = ctR2.addNewT();
-        t2.setStringValue("First paragraph for the footer");
-
-        CTP ctP3 = CTP.Factory.newInstance();
-        CTR ctR3 = ctP3.addNewR();
-        CTText t3 = ctR3.addNewT();
-        t3.setStringValue("Second paragraph for the footer");
-
-        XWPFParagraph p1 = new XWPFParagraph(ctP1, sampleDoc);
-        XWPFParagraph[] pars = new XWPFParagraph[1];
-        pars[0] = p1;
-
-        XWPFParagraph p2 = new XWPFParagraph(ctP2, sampleDoc);
-        XWPFParagraph p3 = new XWPFParagraph(ctP3, sampleDoc);
-        XWPFParagraph[] pars2 = new XWPFParagraph[2];
-        pars2[0] = p2;
-        pars2[1] = p3;
-
-        // Set headers
-        XWPFHeader headerD = policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, pars);
-        XWPFHeader headerF = policy.createHeader(XWPFHeaderFooterPolicy.FIRST);
-        // Set a default footer and capture the returned XWPFFooter object.
-        XWPFFooter footerD = policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, pars2);
-        XWPFFooter footerF = policy.createFooter(XWPFHeaderFooterPolicy.FIRST);
-
-        // Ensure the headers and footer were set correctly....
-        assertNotNull(policy.getDefaultHeader());
-        assertNotNull(policy.getFirstPageHeader());
-        assertNotNull(policy.getDefaultFooter());
-        assertNotNull(policy.getFirstPageFooter());
-        // ....and that the footer object captured above contains two
-        // paragraphs of text.
-        assertEquals(2, footerD.getParagraphs().size());
-        assertEquals(0, footerF.getParagraphs().size());
-
-        // Check the header created with the paragraph got them, and the one
-        // created without got none
-        assertEquals(1, headerD.getParagraphs().size());
-        assertEquals(tText, headerD.getParagraphs().get(0).getText());
-
-        assertEquals(0, headerF.getParagraphs().size());
-
-        // As an additional check, recover the defauls footer and
-        // make sure that it contains two paragraphs of text and that
-        // both do hold what is expected.
-        footerD = policy.getDefaultFooter();
-        XWPFParagraph[] paras = footerD.getParagraphs().toArray(new XWPFParagraph[0]);
-
-        assertEquals(2, paras.length);
-        assertEquals("First paragraph for the footer", paras[0].getText());
-        assertEquals("Second paragraph for the footer", paras[1].getText());
-
-
-        // Add some text to the empty header
-        String fText1 = "New Text!";
-        String fText2 = "More Text!";
-        headerF.createParagraph().insertNewRun(0).setText(fText1);
-        headerF.createParagraph().insertNewRun(0).setText(fText2);
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx")) {
+            // no header is set (yet)
+            XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
+            assertNull(policy.getDefaultHeader());
+            assertNull(policy.getFirstPageHeader());
+            assertNull(policy.getDefaultFooter());
+            assertNull(policy.getFirstPageFooter());
+
+            CTP ctP1 = CTP.Factory.newInstance();
+            CTR ctR1 = ctP1.addNewR();
+            CTText t = ctR1.addNewT();
+            String tText = "Paragraph in header";
+            t.setStringValue(tText);
+
+            // Commented MB 23 May 2010
+            //CTP ctP2 = CTP.Factory.newInstance();
+            //CTR ctR2 = ctP2.addNewR();
+            //CTText t2 = ctR2.addNewT();
+            //t2.setStringValue("Second paragraph.. for footer");
+
+            // Create two paragraphs for insertion into the footer.
+            // Previously only one was inserted MB 23 May 2010
+            CTP ctP2 = CTP.Factory.newInstance();
+            CTR ctR2 = ctP2.addNewR();
+            CTText t2 = ctR2.addNewT();
+            t2.setStringValue("First paragraph for the footer");
+
+            CTP ctP3 = CTP.Factory.newInstance();
+            CTR ctR3 = ctP3.addNewR();
+            CTText t3 = ctR3.addNewT();
+            t3.setStringValue("Second paragraph for the footer");
+
+            XWPFParagraph p1 = new XWPFParagraph(ctP1, sampleDoc);
+            XWPFParagraph[] pars = new XWPFParagraph[1];
+            pars[0] = p1;
+
+            XWPFParagraph p2 = new XWPFParagraph(ctP2, sampleDoc);
+            XWPFParagraph p3 = new XWPFParagraph(ctP3, sampleDoc);
+            XWPFParagraph[] pars2 = new XWPFParagraph[2];
+            pars2[0] = p2;
+            pars2[1] = p3;
+
+            // Set headers
+            XWPFHeader headerD = policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, pars);
+            XWPFHeader headerF = policy.createHeader(XWPFHeaderFooterPolicy.FIRST);
+            // Set a default footer and capture the returned XWPFFooter object.
+            XWPFFooter footerD = policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, pars2);
+            XWPFFooter footerF = policy.createFooter(XWPFHeaderFooterPolicy.FIRST);
+
+            // Ensure the headers and footer were set correctly....
+            assertNotNull(policy.getDefaultHeader());
+            assertNotNull(policy.getFirstPageHeader());
+            assertNotNull(policy.getDefaultFooter());
+            assertNotNull(policy.getFirstPageFooter());
+            // ....and that the footer object captured above contains two
+            // paragraphs of text.
+            assertEquals(2, footerD.getParagraphs().size());
+            assertEquals(0, footerF.getParagraphs().size());
+
+            // Check the header created with the paragraph got them, and the one
+            // created without got none
+            assertEquals(1, headerD.getParagraphs().size());
+            assertEquals(tText, headerD.getParagraphs().get(0).getText());
+
+            assertEquals(0, headerF.getParagraphs().size());
+
+            // As an additional check, recover the defauls footer and
+            // make sure that it contains two paragraphs of text and that
+            // both do hold what is expected.
+            footerD = policy.getDefaultFooter();
+            XWPFParagraph[] paras = footerD.getParagraphs().toArray(new XWPFParagraph[0]);
+
+            assertEquals(2, paras.length);
+            assertEquals("First paragraph for the footer", paras[0].getText());
+            assertEquals("Second paragraph for the footer", paras[1].getText());
+
+
+            // Add some text to the empty header
+            String fText1 = "New Text!";
+            String fText2 = "More Text!";
+            headerF.createParagraph().insertNewRun(0).setText(fText1);
+            headerF.createParagraph().insertNewRun(0).setText(fText2);
 //        headerF.getParagraphs().get(0).insertNewRun(0).setText(fText1);
-    
-        // Check it
-        assertEquals(tText, headerD.getParagraphs().get(0).getText());
-        assertEquals(fText1, headerF.getParagraphs().get(0).getText());
-        assertEquals(fText2, headerF.getParagraphs().get(1).getText());
-
-
-        // Save, re-open, ensure it's all still there
-        XWPFDocument reopened = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
-        policy = reopened.getHeaderFooterPolicy();
-        assertNotNull(policy.getDefaultHeader());
-        assertNotNull(policy.getFirstPageHeader());
-        assertNull(policy.getEvenPageHeader());
-        assertNotNull(policy.getDefaultFooter());
-        assertNotNull(policy.getFirstPageFooter());
-        assertNull(policy.getEvenPageFooter());
-
-        // Check the new headers still have their text
-        headerD = policy.getDefaultHeader();
-        headerF = policy.getFirstPageHeader();
-        assertEquals(tText, headerD.getParagraphs().get(0).getText());
-        assertEquals(fText1, headerF.getParagraphs().get(0).getText());
-        assertEquals(fText2, headerF.getParagraphs().get(1).getText());
-
-        // Check the new footers have their new text too
-        footerD = policy.getDefaultFooter();
-        paras = footerD.getParagraphs().toArray(new XWPFParagraph[0]);
-        footerF = policy.getFirstPageFooter();
-
-        assertEquals(2, paras.length);
-        assertEquals("First paragraph for the footer", paras[0].getText());
-        assertEquals("Second paragraph for the footer", paras[1].getText());
-        assertEquals(1, footerF.getParagraphs().size());
+
+            // Check it
+            assertEquals(tText, headerD.getParagraphs().get(0).getText());
+            assertEquals(fText1, headerF.getParagraphs().get(0).getText());
+            assertEquals(fText2, headerF.getParagraphs().get(1).getText());
+
+
+            // Save, re-open, ensure it's all still there
+            XWPFDocument reopened = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
+            policy = reopened.getHeaderFooterPolicy();
+            assertNotNull(policy.getDefaultHeader());
+            assertNotNull(policy.getFirstPageHeader());
+            assertNull(policy.getEvenPageHeader());
+            assertNotNull(policy.getDefaultFooter());
+            assertNotNull(policy.getFirstPageFooter());
+            assertNull(policy.getEvenPageFooter());
+
+            // Check the new headers still have their text
+            headerD = policy.getDefaultHeader();
+            headerF = policy.getFirstPageHeader();
+            assertEquals(tText, headerD.getParagraphs().get(0).getText());
+            assertEquals(fText1, headerF.getParagraphs().get(0).getText());
+            assertEquals(fText2, headerF.getParagraphs().get(1).getText());
+
+            // Check the new footers have their new text too
+            footerD = policy.getDefaultFooter();
+            paras = footerD.getParagraphs().toArray(new XWPFParagraph[0]);
+            footerF = policy.getFirstPageFooter();
+
+            assertEquals(2, paras.length);
+            assertEquals("First paragraph for the footer", paras[0].getText());
+            assertEquals("Second paragraph for the footer", paras[1].getText());
+            assertEquals(1, footerF.getParagraphs().size());
+        }
     }
 
     @Test
     public void testSetWatermark() throws IOException {
-        XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx");
+        try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("SampleDoc.docx")) {
 
-        // No header is set (yet)
-        XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
-        assertNull(policy.getDefaultHeader());
-        assertNull(policy.getFirstPageHeader());
-        assertNull(policy.getDefaultFooter());
+            // No header is set (yet)
+            XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
+            assertNull(policy.getDefaultHeader());
+            assertNull(policy.getFirstPageHeader());
+            assertNull(policy.getDefaultFooter());
 
-        policy.createWatermark("DRAFT");
+            policy.createWatermark("DRAFT");
 
-        assertNotNull(policy.getDefaultHeader());
-        assertNotNull(policy.getFirstPageHeader());
-        assertNotNull(policy.getEvenPageHeader());
+            assertNotNull(policy.getDefaultHeader());
+            assertNotNull(policy.getFirstPageHeader());
+            assertNotNull(policy.getEvenPageHeader());
 
-        // Re-open, and check
-        XWPFDocument reopened = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
-        policy = reopened.getHeaderFooterPolicy();
+            // Re-open, and check
+            XWPFDocument reopened = XWPFTestDataSamples.writeOutAndReadBack(sampleDoc);
+            policy = reopened.getHeaderFooterPolicy();
 
-        assertNotNull(policy.getDefaultHeader());
-        assertNotNull(policy.getFirstPageHeader());
-        assertNotNull(policy.getEvenPageHeader());
+            assertNotNull(policy.getDefaultHeader());
+            assertNotNull(policy.getFirstPageHeader());
+            assertNotNull(policy.getEvenPageHeader());
+        }
     }
 
     @Test
@@ -224,7 +228,8 @@ public final class TestXWPFHeader {
     @Test
     public void bug60293() throws Exception {
         //test handling of non-standard header/footer options
-        XWPFDocument xwpf = XWPFTestDataSamples.openSampleDocument("60293.docx");
-        assertEquals(3, xwpf.getHeaderList().size());
+        try (XWPFDocument xwpf = XWPFTestDataSamples.openSampleDocument("60293.docx")) {
+            assertEquals(3, xwpf.getHeaderList().size());
+        }
     }
 }
index ef7620eee7481bab0ec025424320e34dd766244f..b26360dc0020413cd66d013e4089df40133e60b3 100644 (file)
@@ -18,31 +18,36 @@ package org.apache.poi.xwpf.usermodel;
 
 import java.io.IOException;
 
-import junit.framework.TestCase;
 import org.apache.poi.xwpf.XWPFTestDataSamples;
-import org.apache.xmlbeans.XmlException;
+import org.junit.Test;
 import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSdtBlock;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 /**
  * @author Paolo Mottadelli
  */
-public final class TestXWPFHeadings extends TestCase {
+public final class TestXWPFHeadings {
     private static final String HEADING1 = "Heading1";
 
-    public void testSetParagraphStyle() throws IOException, XmlException {
+    @Test
+    public void testSetParagraphStyle() throws IOException {
         //new clean instance of paragraph
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("heading123.docx");
-        XWPFParagraph p = doc.createParagraph();
-        XWPFRun run = p.createRun();
-        run.setText("Heading 1");
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("heading123.docx")) {
+            XWPFParagraph p = doc.createParagraph();
+            XWPFRun run = p.createRun();
+            run.setText("Heading 1");
 
-        CTSdtBlock block = doc.getDocument().getBody().addNewSdt();
+            CTSdtBlock block = doc.getDocument().getBody().addNewSdt();
+            assertNotNull(block);
 
-        assertNull(p.getStyle());
-        p.setStyle(HEADING1);
-        assertEquals(HEADING1, p.getCTP().getPPr().getPStyle().getVal());
+            assertNull(p.getStyle());
+            p.setStyle(HEADING1);
+            assertEquals(HEADING1, p.getCTP().getPPr().getPStyle().getVal());
 
-        doc.createTOC();
+            doc.createTOC();
         /*
         // TODO - finish this test
                if (false) {
@@ -59,5 +64,6 @@ public final class TestXWPFHeadings extends TestCase {
                        out.close();
                }
         */
+        }
     }
 }
index 5a5ce78f5cac8743b99d721e799db136509a9bd4..328eca4919fdc72c82c80898a6ccfc82fae0f52a 100644 (file)
@@ -28,15 +28,16 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumLvl;
 public class TestXWPFNumbering extends TestCase {
 
     public void testCompareAbstractNum() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx");
-        XWPFNumbering numbering = doc.getNumbering();
-        BigInteger numId = BigInteger.valueOf(1);
-        assertTrue(numbering.numExist(numId));
-        XWPFNum num = numbering.getNum(numId);
-        BigInteger abstrNumId = num.getCTNum().getAbstractNumId().getVal();
-        XWPFAbstractNum abstractNum = numbering.getAbstractNum(abstrNumId);
-        BigInteger compareAbstractNum = numbering.getIdOfAbstractNum(abstractNum);
-        assertEquals(abstrNumId, compareAbstractNum);
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) {
+            XWPFNumbering numbering = doc.getNumbering();
+            BigInteger numId = BigInteger.valueOf(1);
+            assertTrue(numbering.numExist(numId));
+            XWPFNum num = numbering.getNum(numId);
+            BigInteger abstrNumId = num.getCTNum().getAbstractNumId().getVal();
+            XWPFAbstractNum abstractNum = numbering.getAbstractNum(abstrNumId);
+            BigInteger compareAbstractNum = numbering.getIdOfAbstractNum(abstractNum);
+            assertEquals(abstrNumId, compareAbstractNum);
+        }
     }
 
     public void testAddNumberingToDoc() throws IOException {
@@ -58,45 +59,48 @@ public class TestXWPFNumbering extends TestCase {
     }
 
     public void testGetNumIlvl() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx");
-        BigInteger numIlvl = BigInteger.valueOf(0);
-        assertEquals(numIlvl, doc.getParagraphs().get(0).getNumIlvl());
-        numIlvl = BigInteger.valueOf(1);
-        assertEquals(numIlvl, doc.getParagraphs().get(5).getNumIlvl());
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) {
+            BigInteger numIlvl = BigInteger.valueOf(0);
+            assertEquals(numIlvl, doc.getParagraphs().get(0).getNumIlvl());
+            numIlvl = BigInteger.valueOf(1);
+            assertEquals(numIlvl, doc.getParagraphs().get(5).getNumIlvl());
+        }
     }
 
     public void testGetNumFmt() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx");
-        assertEquals("bullet", doc.getParagraphs().get(0).getNumFmt());
-        assertEquals("bullet", doc.getParagraphs().get(1).getNumFmt());
-        assertEquals("bullet", doc.getParagraphs().get(2).getNumFmt());
-        assertEquals("bullet", doc.getParagraphs().get(3).getNumFmt());
-        assertEquals("decimal", doc.getParagraphs().get(4).getNumFmt());
-        assertEquals("lowerLetter", doc.getParagraphs().get(5).getNumFmt());
-        assertEquals("lowerRoman", doc.getParagraphs().get(6).getNumFmt());
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) {
+            assertEquals("bullet", doc.getParagraphs().get(0).getNumFmt());
+            assertEquals("bullet", doc.getParagraphs().get(1).getNumFmt());
+            assertEquals("bullet", doc.getParagraphs().get(2).getNumFmt());
+            assertEquals("bullet", doc.getParagraphs().get(3).getNumFmt());
+            assertEquals("decimal", doc.getParagraphs().get(4).getNumFmt());
+            assertEquals("lowerLetter", doc.getParagraphs().get(5).getNumFmt());
+            assertEquals("lowerRoman", doc.getParagraphs().get(6).getNumFmt());
+        }
     }
 
     public void testLvlText() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx");
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) {
 
-        assertEquals("%1.%2.%3.", doc.getParagraphs().get(12).getNumLevelText());
+            assertEquals("%1.%2.%3.", doc.getParagraphs().get(12).getNumLevelText());
 
-        assertEquals("NEW-%1-FORMAT", doc.getParagraphs().get(14).getNumLevelText());
+            assertEquals("NEW-%1-FORMAT", doc.getParagraphs().get(14).getNumLevelText());
 
-        XWPFParagraph p = doc.getParagraphs().get(18);
-        assertEquals("%1.", p.getNumLevelText());
-        //test that null doesn't throw NPE
-        assertNull(p.getNumFmt());
+            XWPFParagraph p = doc.getParagraphs().get(18);
+            assertEquals("%1.", p.getNumLevelText());
+            //test that null doesn't throw NPE
+            assertNull(p.getNumFmt());
+        }
     }
 
     public void testOverrideList() throws IOException {
-        XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("NumberingWOverrides.docx");
-        XWPFParagraph p = doc.getParagraphs().get(4);
-        XWPFNumbering numbering = doc.getNumbering();
-        CTNum ctNum = numbering.getNum(p.getNumID()).getCTNum();
-        assertEquals(9, ctNum.sizeOfLvlOverrideArray());
-        CTNumLvl ctNumLvl = ctNum.getLvlOverrideArray(0);
-        assertEquals("upperLetter", ctNumLvl.getLvl().getNumFmt().getVal().toString());
+        try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("NumberingWOverrides.docx")) {
+            XWPFParagraph p = doc.getParagraphs().get(4);
+            XWPFNumbering numbering = doc.getNumbering();
+            CTNum ctNum = numbering.getNum(p.getNumID()).getCTNum();
+            assertEquals(9, ctNum.sizeOfLvlOverrideArray());
+            CTNumLvl ctNumLvl = ctNum.getLvlOverrideArray(0);
+            assertEquals("upperLetter", ctNumLvl.getLvl().getNumFmt().getVal().toString());
+        }
     }
-
 }