Author: centic Date: Fri Aug 23 18:56:11 2013 New Revision: 1516981 URL: http://svn.apache.org/r1516981 Log: Add testcase which tries to reproduce Bug 48495, but seems to be fixed now.
Added: poi/trunk/test-data/spreadsheet/48495.xlsx Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1516981&r1=1516980&r2=1516981&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Fri Aug 23 18:56:11 2013 @@ -37,7 +37,9 @@ import org.apache.poi.ss.usermodel.CellS import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.RichTextString; +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.util.TempFile; import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFTestDataSamples; @@ -494,4 +496,36 @@ public final class TestXSSFWorkbook exte assertEquals("hello world", workbook.getSheetAt(0).getRow(0).getCell(0).getStringCellValue()); assertEquals(2048, workbook.getSheetAt(0).getColumnWidth(0)); // <-works } + + + public void testBug48495() { + try { + Workbook wb = XSSFTestDataSamples.openSampleWorkbook("48495.xlsx"); + + assertSheetOrder(wb, "Sheet1"); + + Sheet sheet = wb.getSheetAt(0); + sheet.shiftRows(2, sheet.getLastRowNum(), 1, true, false); + Row newRow = sheet.getRow(2); + if (newRow == null) newRow = sheet.createRow(2); + newRow.createCell(0).setCellValue(" Another Header"); + wb.cloneSheet(0); + + assertSheetOrder(wb, "Sheet1", "Sheet1 (2)"); + + // FileOutputStream fileOut = new FileOutputStream("/tmp/bug48495.xlsx"); +// try { +// wb.write(fileOut); +// } finally { +// fileOut.close(); +// } + + Workbook read = XSSFTestDataSamples.writeOutAndReadBack(wb); + assertNotNull(read); + assertSheetOrder(read, "Sheet1", "Sheet1 (2)"); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("Done"); + } } Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=1516981&r1=1516980&r2=1516981&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java (original) +++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Fri Aug 23 18:56:11 2013 @@ -965,17 +965,4 @@ public final class TestHSSFWorkbook exte HSSFWorkbook read = HSSFTestDataSamples.writeOutAndReadBack(wb); assertSheetOrder(read, "Invoice", "Deferred", "Received", "Digest"); } - - private void assertSheetOrder(HSSFWorkbook wb, String... sheets) { - StringBuilder sheetNames = new StringBuilder(); - for(int i = 0;i < wb.getNumberOfSheets();i++) { - sheetNames.append(wb.getSheetAt(i).getSheetName()).append(","); - } - assertEquals("Had: " + sheetNames.toString(), - sheets.length, wb.getNumberOfSheets()); - for(int i = 0;i < wb.getNumberOfSheets();i++) { - assertEquals("Had: " + sheetNames.toString(), - sheets[i], wb.getSheetAt(i).getSheetName()); - } - } } Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java?rev=1516981&r1=1516980&r2=1516981&view=diff ============================================================================== --- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java (original) +++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java Fri Aug 23 18:56:11 2013 @@ -604,4 +604,17 @@ public abstract class BaseTestWorkbook e assertEquals(cellB.getStringCellValue(), evaluator.evaluate(cellA).getStringValue()); } } + + protected void assertSheetOrder(Workbook wb, String... sheets) { + StringBuilder sheetNames = new StringBuilder(); + for(int i = 0;i < wb.getNumberOfSheets();i++) { + sheetNames.append(wb.getSheetAt(i).getSheetName()).append(","); + } + assertEquals("Had: " + sheetNames.toString(), + sheets.length, wb.getNumberOfSheets()); + for(int i = 0;i < wb.getNumberOfSheets();i++) { + assertEquals("Had: " + sheetNames.toString(), + sheets[i], wb.getSheetAt(i).getSheetName()); + } + } } Added: poi/trunk/test-data/spreadsheet/48495.xlsx URL: http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/48495.xlsx?rev=1516981&view=auto ============================================================================== Files poi/trunk/test-data/spreadsheet/48495.xlsx (added) and poi/trunk/test-data/spreadsheet/48495.xlsx Fri Aug 23 18:56:11 2013 differ --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org