Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java Fri Dec 27 23:00:13 2019 @@ -17,27 +17,34 @@ package org.apache.poi.xssf.usermodel; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.util.TreeMap; + import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.model.StylesTable; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRPrElt; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STXstring; -import java.io.IOException; -import java.util.TreeMap; - /** * Tests functionality of the XSSFRichTextRun object - * - * @author Yegor Kozlov */ -public final class TestXSSFRichTextString extends TestCase { +public final class TestXSSFRichTextString { + @Test public void testCreate() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); assertEquals("Apache POI", rt.getString()); @@ -56,6 +63,7 @@ public final class TestXSSFRichTextStrin assertFalse(rt.hasFormatting()); } + @Test public void testEmpty() { XSSFRichTextString rt = new XSSFRichTextString(); assertEquals(0, rt.getIndexOfFormattingRun(9999)); @@ -63,6 +71,7 @@ public final class TestXSSFRichTextStrin assertNull(rt.getFontAtIndex(9999)); } + @Test public void testApplyFont() { XSSFRichTextString rt = new XSSFRichTextString(); rt.append("123"); @@ -92,43 +101,46 @@ public final class TestXSSFRichTextStrin assertEquals(7, rt.getIndexOfFormattingRun(3)); assertEquals(2, rt.getLengthOfFormattingRun(3)); assertEquals("89", rt.getCTRst().getRArray(3).getT()); - - + + assertEquals(-1, rt.getIndexOfFormattingRun(9999)); assertEquals(-1, rt.getLengthOfFormattingRun(9999)); assertNull(rt.getFontAtIndex(9999)); } + @Test public void testApplyFontIndex() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); rt.applyFont(0, 10, (short)1); - + rt.applyFont((short)1); - + assertNotNull(rt.getFontAtIndex(0)); } + @Test public void testApplyFontWithStyles() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); - + StylesTable tbl = new StylesTable(); rt.setStylesTableReference(tbl); - + try { rt.applyFont(0, 10, (short)1); fail("Fails without styles in the table"); } catch (IndexOutOfBoundsException e) { // expected } - + tbl.putFont(new XSSFFont()); rt.applyFont(0, 10, (short)1); rt.applyFont((short)1); } + @Test public void testApplyFontException() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); - + rt.applyFont(0, 0, (short)1); try { @@ -153,6 +165,7 @@ public final class TestXSSFRichTextStrin } } + @Test public void testClearFormatting() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); @@ -173,14 +186,15 @@ public final class TestXSSFRichTextStrin rt.applyFont(7, 10, font); assertEquals(2, rt.numFormattingRuns()); assertTrue(rt.hasFormatting()); - + rt.clearFormatting(); - + assertEquals("Apache POI", rt.getString()); assertEquals(0, rt.numFormattingRuns()); assertFalse(rt.hasFormatting()); } + @Test public void testGetFonts() { XSSFRichTextString rt = new XSSFRichTextString(); @@ -208,6 +222,7 @@ public final class TestXSSFRichTextStrin * make sure we insert xml:space="preserve" attribute * if a string has leading or trailing white spaces */ + @Test public void testPreserveSpaces() { XSSFRichTextString rt = new XSSFRichTextString("Apache"); CTRst ct = rt.getCTRst(); @@ -227,6 +242,7 @@ public final class TestXSSFRichTextStrin /** * test that unicode representation_ xHHHH_ is properly processed */ + @Test public void testUtfDecode() { CTRst st = CTRst.Factory.newInstance(); st.setT("abc_x000D_2ef_x000D_"); @@ -241,6 +257,7 @@ public final class TestXSSFRichTextStrin assertEquals("abc\r2ef\r", rt2.getString()); } + @Test public void testApplyFont_lowlevel(){ CTRst st = CTRst.Factory.newInstance(); String text = "Apache Software Foundation"; @@ -355,6 +372,7 @@ public final class TestXSSFRichTextStrin assertSame(fmt5, runs12[4]); } + @Test public void testApplyFont_usermodel(){ String text = "Apache Software Foundation"; XSSFRichTextString str = new XSSFRichTextString(text); @@ -382,6 +400,7 @@ public final class TestXSSFRichTextStrin assertEquals(" Software Foundation", str.getCTRst().getRArray(1).getT()); } + @Test public void testLineBreaks_bug48877() { XSSFFont font = new XSSFFont(); @@ -441,6 +460,7 @@ public final class TestXSSFRichTextStrin assertEquals("<xml-fragment xml:space=\"preserve\">\n\n</xml-fragment>", t3.xmlText()); } + @Test public void testBug56511() throws IOException { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("56511.xlsx")) { for (Sheet sheet : wb) { @@ -471,6 +491,7 @@ public final class TestXSSFRichTextStrin } } + @Test public void testBug56511_values() throws IOException { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("56511.xlsx")) { Sheet sheet = wb.getSheetAt(0); @@ -510,6 +531,7 @@ public final class TestXSSFRichTextStrin } } + @Test public void testToString() { XSSFRichTextString rt = new XSSFRichTextString("Apache POI"); assertNotNull(rt.toString()); @@ -518,6 +540,7 @@ public final class TestXSSFRichTextStrin assertEquals("", rt.toString()); } + @Test public void test59008Font() { XSSFFont font = new XSSFFont(CTFont.Factory.newInstance()); @@ -534,6 +557,7 @@ public final class TestXSSFRichTextStrin assertEquals("<xml-fragment/>", rts.getFontAtIndex(s3-1).toString()); } + @Test public void test60289UtfDecode() throws IOException { XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("60289.xlsx"); assertEquals("Rich Text\r\nTest", wb.getSheetAt(0).getRow(1).getCell(1).getRichStringCellValue().getString());
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetRowGrouping.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetRowGrouping.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetRowGrouping.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetRowGrouping.java Fri Dec 27 23:00:13 2019 @@ -17,23 +17,24 @@ package org.apache.poi.xssf.usermodel; -import java.io.IOException; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; -import junit.framework.TestCase; +import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.XSSFTestDataSamples; +import org.junit.Test; -public final class TestXSSFSheetRowGrouping extends TestCase { +public final class TestXSSFSheetRowGrouping { private static final int ROWS_NUMBER = 200; private static final int GROUP_SIZE = 5; - //private int o_groupsNumber = 0; - + @Test public void test55640() { //long startTime = System.currentTimeMillis(); Workbook wb = new XSSFWorkbook(); @@ -88,6 +89,7 @@ public final class TestXSSFSheetRowGroup assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(p_wb)); } + @Test public void test55640reduce1() { Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet123"); @@ -106,7 +108,7 @@ public final class TestXSSFSheetRowGroup while (start < end) { // natural order sheet.groupRow(start, end); //o_groupsNumber++; - boolean collapsed = start % 2 == 0 ? false : true; + boolean collapsed = (start % 2) != 0; //System.out.println("Set group " + start + "->" + end + " to " + collapsed); sheet.setRowGroupCollapsed(start, collapsed); start++; // natural order @@ -116,29 +118,29 @@ public final class TestXSSFSheetRowGroup writeToFile(wb); } - + @Test public void test55640_VerifyCases() { // NOTE: This is currently based on current behavior of POI, somehow - // what POI returns in the calls to collapsed/hidden is not fully matching + // what POI returns in the calls to collapsed/hidden is not fully matching // the examples in the spec or I did not fully understand how POI stores the data internally... - + // all expanded verifyGroupCollapsed( // level1, level2, level3 - false, false, false, + false, false, false, // collapsed: - new Boolean[] { false, false, false, false, false}, + new Boolean[] { false, false, false, false, false}, // hidden: new boolean[] { false, false, false, false, false}, // outlineLevel new int[] { 1, 2, 3, 3, 3 } ); - - // Level 1 collapsed, others expanded, should only have 4 rows, all hidden: + + // Level 1 collapsed, others expanded, should only have 4 rows, all hidden: verifyGroupCollapsed( // level1, level2, level3 - true, false, false, + true, false, false, // collapsed: new Boolean[] { false, false, false, false, false}, // hidden: @@ -147,10 +149,10 @@ public final class TestXSSFSheetRowGroup new int[] { 1, 2, 3, 3, 3 } ); - // Level 1 and 2 collapsed, Level 3 expanded, + // Level 1 and 2 collapsed, Level 3 expanded, verifyGroupCollapsed( // level1, level2, level3 - true, true, false, + true, true, false, // collapsed: new Boolean[] { false, false, false, false, true, false}, // hidden: @@ -159,10 +161,10 @@ public final class TestXSSFSheetRowGroup new int[] { 1, 2, 3, 3, 3, 0 } ); - // Level 1 collapsed, Level 2 expanded, Level 3 collapsed + // Level 1 collapsed, Level 2 expanded, Level 3 collapsed verifyGroupCollapsed( // level1, level2, level3 - true, false, true, + true, false, true, // collapsed: new Boolean[] { false, false, false, false, false, true}, // hidden: @@ -174,7 +176,7 @@ public final class TestXSSFSheetRowGroup // Level 2 collapsed, others expanded: verifyGroupCollapsed( // level1, level2, level3 - false, true, false, + false, true, false, // collapsed: new Boolean[] { false, false, false, false, false, false}, // hidden: @@ -183,10 +185,10 @@ public final class TestXSSFSheetRowGroup new int[] { 1, 2, 3, 3, 3, 0 } ); - // Level 3 collapsed, others expanded + // Level 3 collapsed, others expanded verifyGroupCollapsed( // level1, level2, level3 - false, false, true, + false, false, true, // collapsed: new Boolean[] { false, false, false, false, false, true}, // hidden: @@ -195,10 +197,10 @@ public final class TestXSSFSheetRowGroup new int[] { 1, 2, 3, 3, 3, 0 } ); - // All collapsed + // All collapsed verifyGroupCollapsed( // level1, level2, level3 - true, true, true, + true, true, true, // collapsed: new Boolean[] { false, false, false, false, true, true}, // hidden: @@ -207,9 +209,9 @@ public final class TestXSSFSheetRowGroup new int[] { 1, 2, 3, 3, 3, 0 } ); } - - - private void verifyGroupCollapsed(boolean level1, boolean level2, boolean level3, + + + private void verifyGroupCollapsed(boolean level1, boolean level2, boolean level3, Boolean[] collapsed, boolean[] hidden, int[] outlineLevel) { Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet123"); @@ -217,11 +219,11 @@ public final class TestXSSFSheetRowGroup for (int i = 0; i < 4; i++) { sheet.createRow(i); } - + sheet.groupRow(0, 4); sheet.groupRow(1, 4); sheet.groupRow(2, 4); - + sheet.setRowGroupCollapsed(0, level1); sheet.setRowGroupCollapsed(1, level2); sheet.setRowGroupCollapsed(2, level3); @@ -229,27 +231,28 @@ public final class TestXSSFSheetRowGroup checkWorkbookGrouping(wb, collapsed, hidden, outlineLevel); } - public void test55640_VerifyCasesSpec() throws IOException { + @Test + public void test55640_VerifyCasesSpec() { // NOTE: This is currently based on current behavior of POI, somehow - // what POI returns in the calls to collapsed/hidden is not fully matching + // what POI returns in the calls to collapsed/hidden is not fully matching // the examples in the spec or I did not fully understand how POI stores the data internally... - + // all expanded verifyGroupCollapsedSpec( // level3, level2, level1 - false, false, false, + false, false, false, // collapsed: - new Boolean[] { false, false, false, false}, + new Boolean[] { false, false, false, false}, // hidden: new boolean[] { false, false, false, false}, // outlineLevel new int[] { 3, 3, 2, 1 } ); - + verifyGroupCollapsedSpec( // level3, level2, level1 - false, false, true, + false, false, true, // collapsed: new Boolean[] { false, false, false, true}, // hidden: @@ -260,7 +263,7 @@ public final class TestXSSFSheetRowGroup verifyGroupCollapsedSpec( // level3, level2, level1 - false, true, false, + false, true, false, // collapsed: new Boolean[] { false, false, true, false}, // hidden: @@ -268,10 +271,10 @@ public final class TestXSSFSheetRowGroup // outlineLevel new int[] { 3, 3, 2, 1 } ); - + verifyGroupCollapsedSpec( // level3, level2, level1 - false, true, true, + false, true, true, // collapsed: new Boolean[] { false, false, true, true}, // hidden: @@ -281,34 +284,34 @@ public final class TestXSSFSheetRowGroup ); } - private void verifyGroupCollapsedSpec(boolean level1, boolean level2, boolean level3, - Boolean[] collapsed, boolean[] hidden, int[] outlineLevel) { + @SuppressWarnings("SameParameterValue") + private void verifyGroupCollapsedSpec(boolean level1, boolean level2, boolean level3, + Boolean[] collapsed, boolean[] hidden, int[] outlineLevel) { Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet123"); for (int i = 5; i < 9; i++) { sheet.createRow(i); } - + sheet.groupRow(5, 6); sheet.groupRow(5, 7); sheet.groupRow(5, 8); - + sheet.setRowGroupCollapsed(6, level1); sheet.setRowGroupCollapsed(7, level2); sheet.setRowGroupCollapsed(8, level3); - + checkWorkbookGrouping(wb, collapsed, hidden, outlineLevel); } private void checkWorkbookGrouping(Workbook wb, Boolean[] collapsed, boolean[] hidden, int[] outlineLevel) { - printWorkbook(wb); Sheet sheet = wb.getSheetAt(0); - + assertEquals(collapsed.length, hidden.length); assertEquals(collapsed.length, outlineLevel.length); assertEquals("Expected " + collapsed.length + " rows with collapsed state, but had " + (sheet.getLastRowNum()-sheet.getFirstRowNum()+1) + " rows (" - + sheet.getFirstRowNum() + "-" + sheet.getLastRowNum() + ")", + + sheet.getFirstRowNum() + "-" + sheet.getLastRowNum() + ")", collapsed.length, sheet.getLastRowNum()-sheet.getFirstRowNum()+1); for(int i = sheet.getFirstRowNum(); i < sheet.getLastRowNum();i++) { if(collapsed[i-sheet.getFirstRowNum()] == null) { @@ -317,16 +320,16 @@ public final class TestXSSFSheetRowGroup XSSFRow row = (XSSFRow) sheet.getRow(i); assertNotNull("Could not read row " + i, row); assertNotNull("Could not read row " + i, row.getCTRow()); - assertEquals("Row: " + i + ": collapsed", collapsed[i-sheet.getFirstRowNum()].booleanValue(), row.getCTRow().getCollapsed()); + assertEquals("Row: " + i + ": collapsed", collapsed[i - sheet.getFirstRowNum()], row.getCTRow().getCollapsed()); assertEquals("Row: " + i + ": hidden", hidden[i-sheet.getFirstRowNum()], row.getCTRow().getHidden()); - + assertEquals("Row: " + i + ": level", outlineLevel[i-sheet.getFirstRowNum()], row.getCTRow().getOutlineLevel()); } - + writeToFile(wb); } - + @Test public void test55640working() { Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("sheet123"); @@ -334,7 +337,7 @@ public final class TestXSSFSheetRowGroup sheet.groupRow(1, 4); sheet.groupRow(2, 5); sheet.groupRow(3, 6); - + sheet.setRowGroupCollapsed(1, true); sheet.setRowGroupCollapsed(2, false); sheet.setRowGroupCollapsed(3, false); @@ -342,29 +345,7 @@ public final class TestXSSFSheetRowGroup writeToFile(wb); } - // just used for printing out contents of spreadsheets - public void notRuntest55640printSample() { - XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("55640.xlsx"); - printWorkbook(wb); - - wb = XSSFTestDataSamples.openSampleWorkbook("GroupTest.xlsx"); - printWorkbook(wb); - } - - private void printWorkbook(Workbook wb) { - // disable all output for now... -// Sheet sheet = wb.getSheetAt(0); -// -// for(Iterator<Row> it = sheet.rowIterator();it.hasNext();) { -// XSSFRow row = (XSSFRow) it.next(); -// boolean collapsed = row.getCTRow().getCollapsed(); -// boolean hidden = row.getCTRow().getHidden(); -// short level = row.getCTRow().getOutlineLevel(); -// -// System.out.println("Row: " + row.getRowNum() + ": Level: " + level + " Collapsed: " + collapsed + " Hidden: " + hidden); -// } - } - + @Test public void testGroupingTest() throws IOException { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("GroupTest.xlsx")) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetUpdateArrayFormulas.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetUpdateArrayFormulas.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetUpdateArrayFormulas.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetUpdateArrayFormulas.java Fri Dec 27 23:00:13 2019 @@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; @@ -33,12 +34,8 @@ import org.openxmlformats.schemas.spread import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCellFormula; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellFormulaType; -import junit.framework.AssertionFailedError; /** * Test array formulas in XSSF - * - * @author Yegor Kozlov - * @author Josh Micich */ public final class TestXSSFSheetUpdateArrayFormulas extends BaseTestSheetUpdateArrayFormulas { @@ -67,7 +64,7 @@ public final class TestXSSFSheetUpdateAr //retrieve the range and check it is the same assertEquals(range.formatAsString(), firstCell.getArrayFormulaRange().formatAsString()); confirmArrayFormulaCell(firstCell, "C3", formula1, "C3"); - + workbook.close(); } @@ -103,9 +100,7 @@ public final class TestXSSFSheetUpdateAr confirmArrayFormulaCell(c, cellRef, null, null); } private static void confirmArrayFormulaCell(XSSFCell c, String cellRef, String formulaText, String arrayRangeRef) { - if (c == null) { - throw new AssertionFailedError("Cell should not be null."); - } + assertNotNull("Cell should not be null.", c); CTCell ctCell = c.getCTCell(); assertEquals(cellRef, ctCell.getR()); if (formulaText == null) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFCategoryAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFCategoryAxis.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFCategoryAxis.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFCategoryAxis.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,8 @@ package org.apache.poi.xssf.usermodel.charts; +import static org.junit.Assert.assertEquals; + import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; import org.apache.poi.xddf.usermodel.chart.XDDFCategoryAxis; @@ -25,24 +27,22 @@ import org.apache.poi.xssf.usermodel.XSS import org.apache.poi.xssf.usermodel.XSSFDrawing; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; -import junit.framework.TestCase; - -public final class TestXSSFCategoryAxis extends TestCase { - +public final class TestXSSFCategoryAxis { + @Test public void testAccessMethods() throws Exception { - XSSFWorkbook wb = new XSSFWorkbook(); - XSSFSheet sheet = wb.createSheet(); - XSSFDrawing drawing = sheet.createDrawingPatriarch(); - XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); - XSSFChart chart = drawing.createChart(anchor); - XDDFCategoryAxis axis = chart.createCategoryAxis(AxisPosition.BOTTOM); - - axis.setCrosses(AxisCrosses.AUTO_ZERO); - assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); + try (XSSFWorkbook wb = new XSSFWorkbook()) { + XSSFSheet sheet = wb.createSheet(); + XSSFDrawing drawing = sheet.createDrawingPatriarch(); + XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); + XSSFChart chart = drawing.createChart(anchor); + XDDFCategoryAxis axis = chart.createCategoryAxis(AxisPosition.BOTTOM); - assertEquals(chart.getAxes().size(), 1); + axis.setCrosses(AxisCrosses.AUTO_ZERO); + assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); - wb.close(); + assertEquals(chart.getAxes().size(), 1); + } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartAxis.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartAxis.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFChartAxis.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,11 @@ package org.apache.poi.xssf.usermodel.charts; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import java.io.IOException; import java.util.List; @@ -29,17 +34,19 @@ import org.apache.poi.xssf.usermodel.XSS import org.apache.poi.xssf.usermodel.XSSFDrawing; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; -import junit.framework.TestCase; - -public final class TestXSSFChartAxis extends TestCase { +public final class TestXSSFChartAxis { private static final double EPSILON = 1E-7; - private final XDDFChartAxis axis; + private XSSFWorkbook wb; + private XDDFChartAxis axis; - public TestXSSFChartAxis() { - super(); - XSSFWorkbook wb = new XSSFWorkbook(); + @Before + public void setup() { + wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet(); XSSFDrawing drawing = sheet.createDrawingPatriarch(); XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); @@ -47,6 +54,14 @@ public final class TestXSSFChartAxis ext axis = chart.createValueAxis(AxisPosition.BOTTOM); } + @After + public void teardown() throws IOException { + wb.close(); + wb = null; + axis = null; + } + + @Test public void testLogBaseIllegalArgument() { IllegalArgumentException iae = null; try { @@ -65,17 +80,20 @@ public final class TestXSSFChartAxis ext assertNotNull(iae); } + @Test public void testLogBaseLegalArgument() { axis.setLogBase(Math.E); assertTrue(Math.abs(axis.getLogBase() - Math.E) < EPSILON); } + @Test public void testNumberFormat() { final String numberFormat = "General"; axis.setNumberFormat(numberFormat); assertEquals(numberFormat, axis.getNumberFormat()); } + @Test public void testMaxAndMinAccessMethods() { final double newValue = 10.0; @@ -86,6 +104,7 @@ public final class TestXSSFChartAxis ext assertTrue(Math.abs(axis.getMaximum() - newValue) < EPSILON); } + @Test public void testVisibleAccessMethods() { axis.setVisible(true); assertTrue(axis.isVisible()); @@ -94,6 +113,7 @@ public final class TestXSSFChartAxis ext assertFalse(axis.isVisible()); } + @Test public void testMajorTickMarkAccessMethods() { axis.setMajorTickMark(AxisTickMark.NONE); assertEquals(AxisTickMark.NONE, axis.getMajorTickMark()); @@ -108,6 +128,7 @@ public final class TestXSSFChartAxis ext assertEquals(AxisTickMark.CROSS, axis.getMajorTickMark()); } + @Test public void testMinorTickMarkAccessMethods() { axis.setMinorTickMark(AxisTickMark.NONE); assertEquals(AxisTickMark.NONE, axis.getMinorTickMark()); @@ -122,6 +143,7 @@ public final class TestXSSFChartAxis ext assertEquals(AxisTickMark.CROSS, axis.getMinorTickMark()); } + @Test public void testGetChartAxisBug57362() throws IOException { //Load existing excel with some chart on it having primary and secondary axis. try (final XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("57362.xlsx")) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFDateAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFDateAxis.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFDateAxis.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFDateAxis.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,8 @@ package org.apache.poi.xssf.usermodel.charts; +import static org.junit.Assert.assertEquals; + import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; import org.apache.poi.xddf.usermodel.chart.XDDFDateAxis; @@ -25,24 +27,23 @@ import org.apache.poi.xssf.usermodel.XSS import org.apache.poi.xssf.usermodel.XSSFDrawing; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; -import junit.framework.TestCase; - -public final class TestXSSFDateAxis extends TestCase { +public final class TestXSSFDateAxis { + @Test public void testAccessMethods() throws Exception { - XSSFWorkbook wb = new XSSFWorkbook(); - XSSFSheet sheet = wb.createSheet(); - XSSFDrawing drawing = sheet.createDrawingPatriarch(); - XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); - XSSFChart chart = drawing.createChart(anchor); - XDDFDateAxis axis = chart.createDateAxis(AxisPosition.BOTTOM); - - axis.setCrosses(AxisCrosses.AUTO_ZERO); - assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); + try (XSSFWorkbook wb = new XSSFWorkbook()) { + XSSFSheet sheet = wb.createSheet(); + XSSFDrawing drawing = sheet.createDrawingPatriarch(); + XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); + XSSFChart chart = drawing.createChart(anchor); + XDDFDateAxis axis = chart.createDateAxis(AxisPosition.BOTTOM); - assertEquals(chart.getAxes().size(), 1); + axis.setCrosses(AxisCrosses.AUTO_ZERO); + assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); - wb.close(); + assertEquals(chart.getAxes().size(), 1); + } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFValueAxis.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFValueAxis.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFValueAxis.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/charts/TestXSSFValueAxis.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,8 @@ package org.apache.poi.xssf.usermodel.charts; +import static org.junit.Assert.assertEquals; + import org.apache.poi.xddf.usermodel.chart.AxisCrossBetween; import org.apache.poi.xddf.usermodel.chart.AxisCrosses; import org.apache.poi.xddf.usermodel.chart.AxisPosition; @@ -26,27 +28,26 @@ import org.apache.poi.xssf.usermodel.XSS import org.apache.poi.xssf.usermodel.XSSFDrawing; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; -import junit.framework.TestCase; - -public final class TestXSSFValueAxis extends TestCase { +public final class TestXSSFValueAxis { + @Test public void testAccessMethods() throws Exception { - XSSFWorkbook wb = new XSSFWorkbook(); - XSSFSheet sheet = wb.createSheet(); - XSSFDrawing drawing = sheet.createDrawingPatriarch(); - XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); - XSSFChart chart = drawing.createChart(anchor); - XDDFValueAxis axis = chart.createValueAxis(AxisPosition.BOTTOM); - - axis.setCrossBetween(AxisCrossBetween.MIDPOINT_CATEGORY); - assertEquals(axis.getCrossBetween(), AxisCrossBetween.MIDPOINT_CATEGORY); + try (XSSFWorkbook wb = new XSSFWorkbook()) { + XSSFSheet sheet = wb.createSheet(); + XSSFDrawing drawing = sheet.createDrawingPatriarch(); + XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 1, 1, 10, 30); + XSSFChart chart = drawing.createChart(anchor); + XDDFValueAxis axis = chart.createValueAxis(AxisPosition.BOTTOM); - axis.setCrosses(AxisCrosses.AUTO_ZERO); - assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); + axis.setCrossBetween(AxisCrossBetween.MIDPOINT_CATEGORY); + assertEquals(axis.getCrossBetween(), AxisCrossBetween.MIDPOINT_CATEGORY); - assertEquals(chart.getAxes().size(), 1); + axis.setCrosses(AxisCrosses.AUTO_ZERO); + assertEquals(axis.getCrosses(), AxisCrosses.AUTO_ZERO); - wb.close(); + assertEquals(chart.getAxes().size(), 1); + } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/extensions/TestXSSFBorder.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/extensions/TestXSSFBorder.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/extensions/TestXSSFBorder.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/extensions/TestXSSFBorder.java Fri Dec 27 23:00:13 2019 @@ -17,38 +17,40 @@ package org.apache.poi.xssf.usermodel.extensions; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder.BorderSide; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle; -public class TestXSSFBorder extends TestCase { - +public class TestXSSFBorder { + + @Test public void testGetBorderStyle() { CTStylesheet stylesheet = CTStylesheet.Factory.newInstance(); CTBorder border = stylesheet.addNewBorders().addNewBorder(); CTBorderPr top = border.addNewTop(); CTBorderPr right = border.addNewRight(); CTBorderPr bottom = border.addNewBottom(); - + top.setStyle(STBorderStyle.DASH_DOT); right.setStyle(STBorderStyle.NONE); bottom.setStyle(STBorderStyle.THIN); - + XSSFCellBorder cellBorderStyle = new XSSFCellBorder(border); assertEquals("DASH_DOT", cellBorderStyle.getBorderStyle(BorderSide.TOP).toString()); - + assertEquals("NONE", cellBorderStyle.getBorderStyle(BorderSide.RIGHT).toString()); assertEquals(BorderStyle.NONE.ordinal(), cellBorderStyle.getBorderStyle(BorderSide.RIGHT).ordinal()); - + assertEquals("THIN", cellBorderStyle.getBorderStyle(BorderSide.BOTTOM).toString()); - + assertEquals(BorderStyle.THIN.ordinal(), cellBorderStyle.getBorderStyle(BorderSide.BOTTOM).ordinal()); } - + } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/helpers/TestHeaderFooterHelper.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/helpers/TestHeaderFooterHelper.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/helpers/TestHeaderFooterHelper.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/helpers/TestHeaderFooterHelper.java Fri Dec 27 23:00:13 2019 @@ -17,27 +17,31 @@ package org.apache.poi.xssf.usermodel.helpers; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; + +import org.junit.Test; /** * Test the header and footer helper. * As we go through XmlBeans, should always use &, * and not & */ -public class TestHeaderFooterHelper extends TestCase { - +public class TestHeaderFooterHelper { + + @Test public void testGetCenterLeftRightSection() { HeaderFooterHelper helper = new HeaderFooterHelper(); - + String headerFooter = "&CTest the center section"; assertEquals("Test the center section", helper.getCenterSection(headerFooter)); - + headerFooter = "&CTest the center section<he left one&RAnd the right one"; assertEquals("Test the center section", helper.getCenterSection(headerFooter)); assertEquals("The left one", helper.getLeftSection(headerFooter)); assertEquals("And the right one", helper.getRightSection(headerFooter)); } - + + @Test public void testSetCenterLeftRightSection() { HeaderFooterHelper helper = new HeaderFooterHelper(); String headerFooter = ""; @@ -53,10 +57,10 @@ public class TestHeaderFooterHelper exte headerFooter = helper.setRightSection(headerFooter, "First right&F"); assertEquals("First right&F", helper.getRightSection(headerFooter)); assertEquals("&CFirst added center section&LFirst left&RFirst right&F", headerFooter); - + headerFooter = helper.setRightSection(headerFooter, "First right&"); assertEquals("First right&", helper.getRightSection(headerFooter)); assertEquals("&CFirst added center section&LFirst left&RFirst right&", headerFooter); } - + } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/MemoryUsage.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/MemoryUsage.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/MemoryUsage.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/MemoryUsage.java Fri Dec 27 23:00:13 2019 @@ -27,21 +27,18 @@ import org.apache.poi.ss.usermodel.Sheet import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellReference; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetData; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet; import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType; -import junit.framework.TestCase; - /** * Mixed utilities for testing memory usage in XSSF - * - * @author Yegor Kozlov */ @SuppressWarnings("InfiniteLoopStatement") -public class MemoryUsage extends TestCase { +public class MemoryUsage { private static final int NUM_COLUMNS = 255; private static void printMemoryUsage(String msg) { @@ -159,6 +156,7 @@ public class MemoryUsage extends TestCas * * @see #testXmlAttached() */ + @Test public void testXmlDetached() { System.out.println(); System.out.println("Testing detached"); @@ -187,6 +185,7 @@ public class MemoryUsage extends TestCas * * @see #testXmlAttached() */ + @Test public void testXmlAttached() { System.out.println(); System.out.println("Testing attached"); @@ -212,18 +211,22 @@ public class MemoryUsage extends TestCas printMemoryUsage("after"); } + @Test public void testMixedHSSF() { mixedSpreadsheet(new HSSFWorkbook(), NUM_COLUMNS); } + @Test public void testMixedXSSF() { mixedSpreadsheet(new XSSFWorkbook(), NUM_COLUMNS); } + @Test public void testNumberHSSF() { numberSpreadsheet(new HSSFWorkbook(), NUM_COLUMNS); } + @Test public void testNumberXSSF() { numberSpreadsheet(new XSSFWorkbook(), NUM_COLUMNS); } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java Fri Dec 27 23:00:13 2019 @@ -17,15 +17,17 @@ package org.apache.poi.xssf.util; -import java.util.Arrays; +import static org.junit.Assert.assertEquals; -import junit.framework.TestCase; +import java.util.Arrays; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol; -public final class TestCTColComparator extends TestCase { +public final class TestCTColComparator { + @Test public void testCompare() { CTCol o1 = CTCol.Factory.newInstance(); o1.setMin(1); @@ -43,6 +45,7 @@ public final class TestCTColComparator e assertEquals(-1, CTColComparator.BY_MIN_MAX.compare(o3, o4)); } + @Test public void testArraysSort() { CTCol o1 = CTCol.Factory.newInstance(); o1.setMin(1); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestNumericRanges.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestNumericRanges.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestNumericRanges.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/util/TestNumericRanges.java Fri Dec 27 23:00:13 2019 @@ -17,11 +17,14 @@ package org.apache.poi.xssf.util; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import org.junit.Test; -public class TestNumericRanges extends TestCase { - + +public class TestNumericRanges { + + @Test public void testGetOverlappingType() { long[] r1 = {3, 8}; long[] r2 = {6, 11}; @@ -35,7 +38,8 @@ public class TestNumericRanges extends T assertEquals(NumericRanges.OVERLAPS_1_WRAPS, NumericRanges.getOverlappingType(r1, r5)); assertEquals(NumericRanges.NO_OVERLAPS, NumericRanges.getOverlappingType(r1, r6)); } - + + @Test public void testGetOverlappingRange() { long[] r1 = {3, 8}; long[] r2 = {6, 11}; @@ -54,5 +58,5 @@ public class TestNumericRanges extends T assertEquals(-1, NumericRanges.getOverlappingRange(r1, r6)[0]); assertEquals(-1, NumericRanges.getOverlappingRange(r1, r6)[1]); } - + } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestPackageCorePropertiesGetKeywords.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestPackageCorePropertiesGetKeywords.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestPackageCorePropertiesGetKeywords.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/TestPackageCorePropertiesGetKeywords.java Fri Dec 27 23:00:13 2019 @@ -17,12 +17,14 @@ package org.apache.poi.xwpf; +import static org.junit.Assert.assertEquals; + import java.io.IOException; -import junit.framework.TestCase; import org.apache.poi.ooxml.POIXMLProperties.CoreProperties; import org.apache.poi.openxml4j.opc.PackageProperties; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.junit.Test; /** * Tests if the {@link CoreProperties#getKeywords()} method. This test has been @@ -33,10 +35,9 @@ import org.apache.poi.xwpf.usermodel.XWP * The author of this has added {@link CoreProperties#getKeywords()} and * {@link CoreProperties#setKeywords(String)} and this test is supposed to test * them. - * - * @author Antoni Mylka */ -public final class TestPackageCorePropertiesGetKeywords extends TestCase { +public final class TestPackageCorePropertiesGetKeywords { + @Test public void testGetSetKeywords() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestPoiXMLDocumentCorePropertiesGetKeywords.docx")) { String keywords = doc.getProperties().getCoreProperties().getKeywords(); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestExternalEntities.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestExternalEntities.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestExternalEntities.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestExternalEntities.java Fri Dec 27 23:00:13 2019 @@ -17,31 +17,32 @@ package org.apache.poi.xwpf.extractor; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.io.IOException; -import junit.framework.TestCase; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.junit.Test; -public class TestExternalEntities extends TestCase { +public class TestExternalEntities { /** * Get text out of the simple file - * - * @throws IOException */ + @Test public void testFile() throws IOException { - XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ExternalEntityInText.docx"); - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); - - String text = extractor.getText(); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ExternalEntityInText.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { - assertTrue(text.length() > 0); + String text = extractor.getText(); - // Check contents, they should not contain the text from POI web site after colon! - assertEquals("Here should not be the POI web site: \"\"", text.trim()); + assertTrue(text.length() > 0); - extractor.close(); + // Check contents, they should not contain the text from POI web site after colon! + assertEquals("Here should not be the POI web site: \"\"", text.trim()); + } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/extractor/TestXWPFWordExtractor.java Fri Dec 27 23:00:13 2019 @@ -17,32 +17,36 @@ package org.apache.poi.xwpf.extractor; +import static org.apache.poi.POITestCase.assertContains; +import static org.apache.poi.POITestCase.assertEndsWith; +import static org.apache.poi.POITestCase.assertNotContained; +import static org.apache.poi.POITestCase.assertStartsWith; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import java.io.IOException; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -import junit.framework.TestCase; - import org.apache.poi.util.StringUtil; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.poi.xwpf.usermodel.XWPFDocument; -import static org.apache.poi.POITestCase.assertContains; -import static org.apache.poi.POITestCase.assertEndsWith; -import static org.apache.poi.POITestCase.assertNotContained; -import static org.apache.poi.POITestCase.assertStartsWith; +import org.junit.Test; /** * Tests for HXFWordExtractor */ -public class TestXWPFWordExtractor extends TestCase { +public class TestXWPFWordExtractor { /** * Get text out of the simple file */ + @Test public void testGetSimpleText() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertTrue(text.length() > 0); @@ -58,23 +62,21 @@ public class TestXWPFWordExtractor exten // Check number of paragraphs by counting number of newlines int numberOfParagraphs = StringUtil.countMatches(text, '\n'); assertEquals(3, numberOfParagraphs); - - extractor.close(); } } /** * Tests getting the text out of a complex file */ + @Test public void testGetComplexText() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("IllustrativeCases.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("IllustrativeCases.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertTrue(text.length() > 0); char euro = '\u20ac'; -// System.err.println("'"+text.substring(text.length() - 40) + "'"); // Check contents assertStartsWith(text, @@ -90,14 +92,13 @@ public class TestXWPFWordExtractor exten // Check number of paragraphs by counting number of newlines int numberOfParagraphs = StringUtil.countMatches(text, '\n'); assertEquals(134, numberOfParagraphs); - - extractor.close(); } } + @Test public void testGetWithHyperlinks() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestDocument.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("TestDocument.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { // Now check contents extractor.setFetchHyperlinks(false); @@ -118,126 +119,117 @@ public class TestXWPFWordExtractor exten "We have a hyperlink <http://poi.apache.org/> here, and another.\n", extractor.getText() ); - - extractor.close(); } } + @Test public void testHeadersFooters() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ThreeColHeadFoot.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("ThreeColHeadFoot.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertEquals( - "First header column!\tMid header\tRight header!\n" + - "This is a sample word document. It has two pages. It has a three column heading, and a three column footer\n" + - "\n" + - "HEADING TEXT\n" + - "\n" + - "More on page one\n" + - "\n\n" + - "End of page 1\n\n\n" + - "This is page two. It also has a three column heading, and a three column footer.\n" + - "Footer Left\tFooter Middle\tFooter Right\n", - extractor.getText() + "First header column!\tMid header\tRight header!\n" + + "This is a sample word document. It has two pages. It has a three column heading, and a three column footer\n" + + "\n" + + "HEADING TEXT\n" + + "\n" + + "More on page one\n" + + "\n\n" + + "End of page 1\n\n\n" + + "This is page two. It also has a three column heading, and a three column footer.\n" + + "Footer Left\tFooter Middle\tFooter Right\n", + extractor.getText() ); + } - // Now another file, expect multiple headers - // and multiple footers - XWPFDocument doc2 = XWPFTestDataSamples.openSampleDocument("DiffFirstPageHeadFoot.docx"); - extractor.close(); + // Now another file, expect multiple headers + // and multiple footers + try (XWPFDocument doc2 = XWPFTestDataSamples.openSampleDocument("DiffFirstPageHeadFoot.docx")) { - extractor = new XWPFWordExtractor(doc2); - extractor.close(); + new XWPFWordExtractor(doc2).close(); - extractor = - new XWPFWordExtractor(doc2); - extractor.getText(); + try (XWPFWordExtractor extractor = new XWPFWordExtractor(doc2)) { + extractor.getText(); - assertEquals( + assertEquals( "I am the header on the first page, and I" + '\u2019' + "m nice and simple\n" + - "First header column!\tMid header\tRight header!\n" + - "This is a sample word document. It has two pages. It has a simple header and footer, which is different to all the other pages.\n" + - "\n" + - "HEADING TEXT\n" + - "\n" + - "More on page one\n" + - "\n\n" + - "End of page 1\n\n\n" + - "This is page two. It also has a three column heading, and a three column footer.\n" + - "The footer of the first page\n" + - "Footer Left\tFooter Middle\tFooter Right\n", + "First header column!\tMid header\tRight header!\n" + + "This is a sample word document. It has two pages. It has a simple header and footer, which is different to all the other pages.\n" + + "\n" + + "HEADING TEXT\n" + + "\n" + + "More on page one\n" + + "\n\n" + + "End of page 1\n\n\n" + + "This is page two. It also has a three column heading, and a three column footer.\n" + + "The footer of the first page\n" + + "Footer Left\tFooter Middle\tFooter Right\n", extractor.getText() - ); + ); - extractor.close(); + } } } + @Test public void testFootnotes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("footnotes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("footnotes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertContains(text, "snoska"); assertContains(text, "Eto ochen prostoy[footnoteRef:1] text so snoskoy"); - - extractor.close(); } } + @Test public void testTableFootnotes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("table_footnotes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("table_footnotes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertContains(extractor.getText(), "snoska"); - - extractor.close(); } } + @Test public void testFormFootnotes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("form_footnotes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("form_footnotes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertContains(text, "testdoc"); assertContains(text, "test phrase"); - - extractor.close(); } } + @Test public void testEndnotes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("endnotes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("endnotes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertContains(text, "XXX"); assertContains(text, "tilaka [endnoteRef:2]or 'tika'"); - - extractor.close(); } } + @Test public void testInsertedDeletedText() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("delins.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("delins.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertContains(extractor.getText(), "pendant worn"); assertContains(extractor.getText(), "extremely well"); - - extractor.close(); } } + @Test public void testParagraphHeader() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Headers.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Headers.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertContains(extractor.getText(), "Section 1"); assertContains(extractor.getText(), "Section 2"); assertContains(extractor.getText(), "Section 3"); - - extractor.close(); } } @@ -245,15 +237,14 @@ public class TestXWPFWordExtractor exten * Test that we can open and process .docm * (macro enabled) docx files (bug #45690) */ + @Test public void testDOCMFiles() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("45690.docm")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("45690.docm"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertContains(extractor.getText(), "2004"); assertContains(extractor.getText(), "2008"); assertContains(extractor.getText(), "(120 "); - - extractor.close(); } } @@ -262,9 +253,10 @@ public class TestXWPFWordExtractor exten * carriage returns properly in the text that * we're extracting (bug #49189) */ + @Test public void testDocTabs() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("WithTabs.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("WithTabs.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { // Check bits assertContains(extractor.getText(), "a"); @@ -273,8 +265,6 @@ public class TestXWPFWordExtractor exten // Now check the first paragraph in total assertContains(extractor.getText(), "a\tb\n"); - - extractor.close(); } } @@ -282,15 +272,14 @@ public class TestXWPFWordExtractor exten * The output should not contain field codes, e.g. those specified in the * w:instrText tag (spec sec. 17.16.23) */ + @Test public void testNoFieldCodes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("FieldCodes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("FieldCodes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertTrue(text.length() > 0); assertFalse(text.contains("AUTHOR")); assertFalse(text.contains("CREATEDATE")); - - extractor.close(); } } @@ -298,14 +287,13 @@ public class TestXWPFWordExtractor exten * The output should contain the values of simple fields, those specified * with the fldSimple element (spec sec. 17.16.19) */ + @Test public void testFldSimpleContent() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("FldSimple.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("FldSimple.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertTrue(text.length() > 0); assertContains(text, "FldSimple.docx"); - - extractor.close(); } } @@ -313,38 +301,38 @@ public class TestXWPFWordExtractor exten * Test for parsing document with drawings to prevent * NoClassDefFoundError for CTAnchor in XWPFRun */ + @Test public void testDrawings() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("drawing.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("drawing.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String text = extractor.getText(); assertTrue(text.length() > 0); - - extractor.close(); } } /** * Test for basic extraction of SDT content */ + @Test public void testSimpleControlContent() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug54849.docx")) { + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug54849.docx"); + XWPFWordExtractor ex = new XWPFWordExtractor(doc)) { String[] targs = new String[]{ - "header_rich_text", - "rich_text", - "rich_text_pre_table\nrich_text_cell1\t\t\t\n\t\t\t\n\t\t\t\n\nrich_text_post_table", - "plain_text_no_newlines", - "plain_text_with_newlines1\nplain_text_with_newlines2\n", - "watermelon\n", - "dirt\n", - "4/16/2013\n", - "rich_text_in_cell", - "abc", - "rich_text_in_paragraph_in_cell", - "footer_rich_text", - "footnote_sdt", - "endnote_sdt" + "header_rich_text", + "rich_text", + "rich_text_pre_table\nrich_text_cell1\t\t\t\n\t\t\t\n\t\t\t\n\nrich_text_post_table", + "plain_text_no_newlines", + "plain_text_with_newlines1\nplain_text_with_newlines2\n", + "watermelon\n", + "dirt\n", + "4/16/2013\n", + "rich_text_in_cell", + "abc", + "rich_text_in_paragraph_in_cell", + "footer_rich_text", + "footnote_sdt", + "endnote_sdt" }; - XWPFWordExtractor ex = new XWPFWordExtractor(doc); String s = ex.getText().toLowerCase(Locale.ROOT); int hits = 0; @@ -357,17 +345,17 @@ public class TestXWPFWordExtractor exten assertTrue("controlled content loading-" + targ, hit); } assertEquals("controlled content loading hit count", targs.length, hits); - ex.close(); + } + try (XWPFDocument doc2 = XWPFTestDataSamples.openSampleDocument("Bug54771a.docx"); + XWPFWordExtractor ex = new XWPFWordExtractor(doc2)) { + String s = ex.getText().toLowerCase(Locale.ROOT); - XWPFDocument doc2 = XWPFTestDataSamples.openSampleDocument("Bug54771a.docx"); - targs = new String[]{ - "bb", - "test subtitle\n", - "test user\n", + String[] targs = { + "bb", + "test subtitle\n", + "test user\n", }; - ex = new XWPFWordExtractor(doc2); - s = ex.getText().toLowerCase(Locale.ROOT); //At one point in development there were three copies of the text. //This ensures that there is only one copy. @@ -387,69 +375,71 @@ public class TestXWPFWordExtractor exten hit++; } assertEquals("test<N>", 2, hit); - ex.close(); } } /** * No Header or Footer in document */ + @Test public void testBug55733() throws Exception { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("55733.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("55733.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { // Check it gives text without error extractor.getText(); - extractor.close(); } } + @Test public void testCheckboxes() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("checkboxes.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("checkboxes.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertEquals("This is a small test for checkboxes \nunchecked: |_| \n" + - "Or checked: |X|\n\n\n\n\n" + - "Test a checkbox within a textbox: |_| -> |X|\n\n\n" + - "In Table:\n|_|\t|X|\n\n\n" + - "In Sequence:\n|X||_||X|\n", extractor.getText()); - extractor.close(); + "Or checked: |X|\n\n\n\n\n" + + "Test a checkbox within a textbox: |_| -> |X|\n\n\n" + + "In Table:\n|_|\t|X|\n\n\n" + + "In Sequence:\n|X||_||X|\n", extractor.getText()); } } - + + @Test public void testMultipleBodyBug() throws IOException { - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("MultipleBodyBug.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("MultipleBodyBug.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { assertEquals("START BODY 1 The quick, brown fox jumps over a lazy dog. END BODY 1.\n" - + "START BODY 2 The quick, brown fox jumps over a lazy dog. END BODY 2.\n" - + "START BODY 3 The quick, brown fox jumps over a lazy dog. END BODY 3.\n", - extractor.getText()); - extractor.close(); + + "START BODY 2 The quick, brown fox jumps over a lazy dog. END BODY 2.\n" + + "START BODY 3 The quick, brown fox jumps over a lazy dog. END BODY 3.\n", + extractor.getText()); } } + @Test public void testPhonetic() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("61470.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); - //expect: baseText (phoneticText) - assertEquals("\u6771\u4EAC (\u3068\u3046\u304D\u3087\u3046)", extractor.getText().trim()); - extractor.close(); - extractor = new XWPFWordExtractor(doc); - extractor.setConcatenatePhoneticRuns(false); - assertEquals("\u6771\u4EAC", extractor.getText().trim()); + try (XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { + //expect: baseText (phoneticText) + assertEquals("\u6771\u4EAC (\u3068\u3046\u304D\u3087\u3046)", extractor.getText().trim()); + } + try (XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { + extractor.setConcatenatePhoneticRuns(false); + assertEquals("\u6771\u4EAC", extractor.getText().trim()); + } } } + @Test public void testCTPictureBase() throws IOException { //This forces ctpicturebase to be included in the poi-ooxml-schemas jar - try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("61991.docx")) { - XWPFWordExtractor extractor = new XWPFWordExtractor(doc); + try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("61991.docx"); + XWPFWordExtractor extractor = new XWPFWordExtractor(doc)) { String txt = extractor.getText(); assertContains(txt, "Sequencing data"); - extractor.close(); } } + @Test public void testGlossary() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("60316.dotx")) { XWPFWordExtractor extractor = new XWPFWordExtractor(doc); @@ -461,6 +451,7 @@ public class TestXWPFWordExtractor exten } } + @Test public void testPartsInTemplate() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("60316b.dotx")) { XWPFWordExtractor extractor = new XWPFWordExtractor(doc); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFEndnotes.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFEndnotes.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFEndnotes.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFEndnotes.java Fri Dec 27 23:00:13 2019 @@ -17,45 +17,46 @@ package org.apache.poi.xwpf.usermodel; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + import java.io.IOException; import java.math.BigInteger; import org.apache.poi.xwpf.XWPFTestDataSamples; +import org.junit.Test; import org.openxmlformats.schemas.wordprocessingml.x2006.main.STFtnEdn; -import junit.framework.TestCase; +public class TestXWPFEndnotes { -public class TestXWPFEndnotes extends TestCase { - + @Test public void testCreateEndnotes() throws IOException{ - XWPFDocument docOut = new XWPFDocument(); - - XWPFEndnotes footnotes = docOut.createEndnotes(); - - assertNotNull(footnotes); - - XWPFEndnotes secondFootnotes = docOut.createEndnotes(); - - assertSame(footnotes, secondFootnotes); - - docOut.close(); + try (XWPFDocument docOut = new XWPFDocument()) { + XWPFEndnotes footnotes = docOut.createEndnotes(); + assertNotNull(footnotes); + + XWPFEndnotes secondFootnotes = docOut.createEndnotes(); + assertSame(footnotes, secondFootnotes); + } } + @Test public void testAddEndnotesToDocument() throws IOException { - XWPFDocument docOut = new XWPFDocument(); - - // NOTE: XWPFDocument.createEndnote() delegates directly - // to XWPFFootnotes.createEndnote() so this tests - // both creation of new XWPFFootnotes in document - // and XWPFFootnotes.createEndnote(); - XWPFEndnote endnote = docOut.createEndnote(); - BigInteger noteId = endnote.getId(); - - XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut); - - XWPFEndnote note = docIn.getEndnoteByID(noteId.intValue()); - assertNotNull(note); - assertEquals(STFtnEdn.NORMAL, note.getCTFtnEdn().getType()); + try (XWPFDocument docOut = new XWPFDocument()) { + // NOTE: XWPFDocument.createEndnote() delegates directly + // to XWPFFootnotes.createEndnote() so this tests + // both creation of new XWPFFootnotes in document + // and XWPFFootnotes.createEndnote(); + XWPFEndnote endnote = docOut.createEndnote(); + BigInteger noteId = endnote.getId(); + + XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut); + + XWPFEndnote note = docIn.getEndnoteByID(noteId.intValue()); + assertNotNull(note); + assertEquals(STFtnEdn.NORMAL, note.getCTFtnEdn().getType()); + } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFNumbering.java Fri Dec 27 23:00:13 2019 @@ -17,16 +17,21 @@ package org.apache.poi.xwpf.usermodel; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + import java.io.IOException; import java.math.BigInteger; -import junit.framework.TestCase; import org.apache.poi.xwpf.XWPFTestDataSamples; +import org.junit.Test; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNum; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumLvl; -public class TestXWPFNumbering extends TestCase { +public class TestXWPFNumbering { + @Test public void testCompareAbstractNum() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) { XWPFNumbering numbering = doc.getNumbering(); @@ -40,6 +45,7 @@ public class TestXWPFNumbering extends T } } + @Test public void testAddNumberingToDoc() throws IOException { BigInteger abstractNumId = BigInteger.valueOf(1); BigInteger numId = BigInteger.valueOf(1); @@ -58,6 +64,7 @@ public class TestXWPFNumbering extends T assertEquals(abstractNumId, compareAbstractNum); } + @Test public void testGetNumIlvl() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) { BigInteger numIlvl = BigInteger.valueOf(0); @@ -67,6 +74,7 @@ public class TestXWPFNumbering extends T } } + @Test public void testGetNumFmt() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) { assertEquals("bullet", doc.getParagraphs().get(0).getNumFmt()); @@ -79,6 +87,7 @@ public class TestXWPFNumbering extends T } } + @Test public void testLvlText() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Numbering.docx")) { @@ -93,6 +102,7 @@ public class TestXWPFNumbering extends T } } + @Test public void testOverrideList() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("NumberingWOverrides.docx")) { XWPFParagraph p = doc.getParagraphs().get(4); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFPictureData.java Fri Dec 27 23:00:13 2019 @@ -18,21 +18,26 @@ package org.apache.poi.xwpf.usermodel; import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.List; -import junit.framework.TestCase; - import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.opc.PackageRelationship; import org.apache.poi.xssf.usermodel.XSSFRelation; import org.apache.poi.xwpf.XWPFTestDataSamples; import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy; +import org.junit.Assert; +import org.junit.Test; -public class TestXWPFPictureData extends TestCase { +public class TestXWPFPictureData { + @Test public void testRead() throws InvalidFormatException, IOException { try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("VariousPictures.docx")) { List<XWPFPictureData> pictures = sampleDoc.getAllPictures(); @@ -57,6 +62,7 @@ public class TestXWPFPictureData extends } } + @Test public void testPictureInHeader() throws IOException { try (XWPFDocument sampleDoc = XWPFTestDataSamples.openSampleDocument("headerPic.docx")) { verifyOneHeaderPicture(sampleDoc); @@ -65,7 +71,8 @@ public class TestXWPFPictureData extends verifyOneHeaderPicture(readBack); } } - + + @Test public void testCreateHeaderPicture() throws Exception { try (XWPFDocument doc = new XWPFDocument()) { @@ -104,6 +111,7 @@ public class TestXWPFPictureData extends assertEquals(1, pictures.size()); } + @Test public void testNew() throws InvalidFormatException, IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("EmptyDocumentWithHeaderFooter.docx")) { byte[] jpegData = XWPFTestDataSamples.getImage("nature1.jpg"); @@ -165,22 +173,19 @@ public class TestXWPFPictureData extends } } + @Test public void testBug51770() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("Bug51170.docx")) { XWPFHeaderFooterPolicy policy = doc.getHeaderFooterPolicy(); XWPFHeader header = policy.getDefaultHeader(); - for (XWPFParagraph paragraph : header.getParagraphs()) { - for (XWPFRun run : paragraph.getRuns()) { - for (XWPFPicture picture : run.getEmbeddedPictures()) { - if (paragraph.getDocument() != null) { - XWPFPictureData data = picture.getPictureData(); - if (data != null) { - fail("Should have returned null: " + data.getFileName()); - } - } - } - } - } + + header.getParagraphs().stream() + .map(XWPFParagraph::getRuns) + .flatMap(List::stream) + .map(XWPFRun::getEmbeddedPictures) + .flatMap(List::stream) + .map(XWPFPicture::getPictureData) + .forEach(Assert::assertNull); } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFSmartTag.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFSmartTag.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFSmartTag.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFSmartTag.java Fri Dec 27 23:00:13 2019 @@ -16,19 +16,18 @@ ==================================================================== */ package org.apache.poi.xwpf.usermodel; +import static org.apache.poi.POITestCase.assertContains; + import java.io.IOException; -import junit.framework.TestCase; import org.apache.poi.xwpf.XWPFTestDataSamples; -import static org.apache.poi.POITestCase.assertContains; +import org.junit.Test; /** * Tests for reading SmartTags from Word docx. - * - * @author Fabian Lange */ -public final class TestXWPFSmartTag extends TestCase { - +public final class TestXWPFSmartTag { + @Test public void testSmartTags() throws IOException { try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("smarttag-snippet.docx")) { XWPFParagraph p = doc.getParagraphArray(0); Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/TestHDGFCore.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/TestHDGFCore.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/TestHDGFCore.java (original) +++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/TestHDGFCore.java Fri Dec 27 23:00:13 2019 @@ -17,36 +17,41 @@ package org.apache.poi.hdgf; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import org.apache.poi.POIDataSamples; import org.apache.poi.hdgf.extractor.VisioTextExtractor; import org.apache.poi.hdgf.streams.PointerContainingStream; import org.apache.poi.hdgf.streams.TrailerStream; import org.apache.poi.poifs.filesystem.POIFSFileSystem; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; -public final class TestHDGFCore extends TestCase { +public final class TestHDGFCore { private static POIDataSamples _dgTests = POIDataSamples.getDiagramInstance(); private POIFSFileSystem fs; private HDGFDiagram hdgf; private VisioTextExtractor textExtractor; - @Override - protected void setUp() throws Exception { + @Before + public void setUp() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("Test_Visio-Some_Random_Text.vsd")); } - @Override - protected void tearDown() throws Exception { + @After + public void tearDown() throws Exception { if (textExtractor != null) textExtractor.close(); if (hdgf != null) hdgf.close(); } - + @Test public void testCreate() throws Exception { hdgf = new HDGFDiagram(fs); } + @Test public void testTrailer() throws Exception { hdgf = new HDGFDiagram(fs); assertNotNull(hdgf); @@ -74,6 +79,7 @@ public final class TestHDGFCore extends * Tests that we can open a problematic file, that used to * break with a negative chunk length */ + @Test public void testNegativeChunkLength() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("NegativeChunkLength.vsd")); @@ -90,8 +96,8 @@ public final class TestHDGFCore extends * Tests that we can open a problematic file that triggers * an ArrayIndexOutOfBoundsException when processing the * chunk commands. - * @throws Exception */ + @Test public void DISABLEDtestAIOOB() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("44501.vsd")); @@ -99,6 +105,7 @@ public final class TestHDGFCore extends assertNotNull(hdgf); } + @Test public void testV5() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("v5_Connection_Types.vsd")); @@ -111,6 +118,7 @@ public final class TestHDGFCore extends assertEquals("Static to Static\nDynamic to Static\nDynamic to Dynamic", text); } + @Test public void testV6NonUtf16LE() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("v6-non-utf16le.vsd")); @@ -123,6 +131,7 @@ public final class TestHDGFCore extends assertEquals("Table\n\n\nPropertySheet\n\n\n\nPropertySheetField", text); } + @Test public void testUtf16LE() throws Exception { fs = new POIFSFileSystem(_dgTests.openResourceAsStream("Test_Visio-Some_Random_Text.vsd")); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org