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

Reply via email to