From 9c3ab2d1b38e10f2db122b5b7d4a2a136d741246 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sat, 16 Jul 2016 20:52:28 +0000 Subject: [PATCH] Bug 59733: Narrow down testcase some more, after the first shift, removing the first row is sufficient to trigger the problem git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1752996 13f79535-47bb-0310-9956-ffa450edef68 --- .../usermodel/TestXSSFSheetShiftRows.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java index 8e508860a0..0287353234 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java @@ -76,12 +76,11 @@ public final class TestXSSFSheetShiftRows extends BaseTestSheetShiftRows { // when shifted by less than -1 negative amount (try -2) testSheet.shiftRows(3, 3, -2); - Row newRow = null; Cell newCell = null; - // 2) attempt to create a new row IN PLACE of a removed row by a negative shift causes corrupted + // 2) attempt to create a new row IN PLACE of a removed row by a negative shift causes corrupted // xlsx file with unreadable data in the negative shifted row. // NOTE it's ok to create any other row. - newRow = testSheet.createRow(3); - newCell = newRow.createCell(0); + Row newRow = testSheet.createRow(3); + Cell newCell = newRow.createCell(0); newCell.setCellValue("new Cell in row "+newRow.getRowNum()); // 3) once a negative shift has been made any attempt to shift another group of rows @@ -117,6 +116,7 @@ public final class TestXSSFSheetShiftRows extends BaseTestSheetShiftRows { return; } Cell readCell = readRow.getCell(0); + //noinspection deprecation if(readCell.getCellTypeEnum() == CellType.NUMERIC) { assertEquals(expect, Double.toString(readCell.getNumericCellValue())); } else { @@ -369,12 +369,12 @@ public final class TestXSSFSheetShiftRows extends BaseTestSheetShiftRows { wb.close(); } - @Ignore + @Ignore("Bug 59733 - shiftRows() causes org.apache.xmlbeans.impl.values.XmlValueDisconnectedException") @Test public void bug59733() throws IOException { Workbook workbook = new XSSFWorkbook(); Sheet sheet = workbook.createSheet(); - for (int r=0; r<=3; r++) { + for (int r=0; r<4; r++) { sheet.createRow(r); } @@ -389,12 +389,11 @@ public final class TestXSSFSheetShiftRows extends BaseTestSheetShiftRows { at org.apache.xmlbeans.impl.values.XmlObjectBase.check_orphaned(XmlObjectBase.java:1258) at org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTRowImpl.getR(Unknown Source) at org.apache.poi.xssf.usermodel.XSSFRow.getRowNum(XSSFRow.java:363) - at org.apache.poi.xssf.usermodel.XSSFSheet.shiftRows(XSSFSheet.java:2926) - at org.apache.poi.xssf.usermodel.XSSFSheet.shiftRows(XSSFSheet.java:2901) at org.apache.poi.xssf.usermodel.TestXSSFSheetShiftRows.bug59733(TestXSSFSheetShiftRows.java:393) */ - sheet.shiftRows(3, 3, -3); - + sheet.removeRow(sheet.getRow(0)); + assertEquals(1, sheet.getRow(1).getRowNum()); + workbook.close(); } }