From: Dominik Stadler Date: Sun, 7 Apr 2019 07:17:34 +0000 (+0000) Subject: Close more file-handles in tests and convert some more tests to junit-4 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4da06bff7126a08aee47f8c7532b7c10c19f3bbb;p=poi.git Close more file-handles in tests and convert some more tests to junit-4 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857066 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestExternalLinksTable.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestExternalLinksTable.java index 1fbf86a335..4c76fdf481 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestExternalLinksTable.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestExternalLinksTable.java @@ -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()); + } } } diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestMapInfo.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestMapInfo.java index 4c32b9ec90..30f0d0a02e 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestMapInfo.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestMapInfo.java @@ -16,59 +16,62 @@ ==================================================================== */ 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); } } diff --git a/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java b/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java index 1a207c2366..94435c6019 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/model/TestStylesTable.java @@ -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)); + } } } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java index 719fbb9d35..62c9670479 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFChart.java @@ -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 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 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 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 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 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 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)); + } } } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFFootnotes.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFFootnotes.java index 1071f40c79..1f496f2840 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFFootnotes.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFFootnotes.java @@ -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 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 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); } } - diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java index fbb24f5062..d76309ae99 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeader.java @@ -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()); + } } } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java index ef7620eee7..b26360dc00 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFHeadings.java @@ -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(); } */ + } } } diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java index 5a5ce78f5c..328eca4919 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java @@ -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()); + } } - }