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());
+ }
}
}
==================================================================== */
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);
}
}
}
@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) {
}
@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
@Test
public void addDataFormatsBeyondUpperLimit() throws IOException {
-
try (XSSFWorkbook wb = new XSSFWorkbook()) {
StylesTable styles = wb.getStylesSource();
styles.setMaxNumberOfDataFormats(0);
@Test
public void decreaseUpperLimitBelowCurrentNumDataFormats() throws IOException {
-
try (XSSFWorkbook wb = new XSSFWorkbook()) {
StylesTable styles = wb.getStylesSource();
styles.putNumberFormat(customDataFormat);
}
@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));
+ }
}
}
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;
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) {
/**
* 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));
+ }
}
}
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);
}
}
-
@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
@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());
+ }
}
}
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) {
out.close();
}
*/
+ }
}
}
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 {
}
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());
+ }
}
-
}