You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by on...@apache.org on 2015/12/06 21:51:54 UTC

svn commit: r1718217 - /poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java

Author: onealj
Date: Sun Dec  6 20:51:54 2015
New Revision: 1718217

URL: http://svn.apache.org/viewvc?rev=1718217&view=rev
Log:
bug 56454: shiftRows incorrectly handle merged regions that do not contain column 0. Add failing unit test from Jörg Selbach.

Modified:
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java?rev=1718217&r1=1718216&r2=1718217&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetShiftRows.java Sun Dec  6 20:51:54 2015
@@ -22,14 +22,18 @@ import static org.junit.Assert.assertNot
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
 
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.ITestDataProvider;
 import org.apache.poi.ss.util.CellAddress;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellReference;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -302,7 +306,45 @@ public abstract class BaseTestSheetShift
         region = sheet.getMergedRegion(0);
         assertEquals("A3:C3", region.formatAsString());
         wb.close();
-   }
+    }
+    
+    @Ignore
+    @Test
+    public final void shiftWithMergedRegions_bug56454() throws IOException {
+        Workbook wb = _testDataProvider.createWorkbook();
+        Sheet sheet = wb.createSheet();
+        // populate sheet cells
+        for (int i = 0; i < 10; i++) {
+            Row row = sheet.createRow(i);
+            
+            for (int j = 0; j < 10; j++) {
+                Cell cell = row.createCell(j, Cell.CELL_TYPE_STRING);
+                cell.setCellValue(i + "x" + j);
+            }
+        }
+        
+        CellRangeAddress A4_B7 = CellRangeAddress.valueOf("A4:B7");
+        CellRangeAddress C4_D7 = CellRangeAddress.valueOf("C4:D7");
+        
+        sheet.addMergedRegion(A4_B7);
+        sheet.addMergedRegion(C4_D7);
+        
+        assumeTrue(sheet.getLastRowNum() > 8);
+        
+        // Insert a row in the middle of both merged regions.
+        sheet.shiftRows(4, sheet.getLastRowNum(), 1);
+        
+        // all regions should still start at row 3, and elongate by 1 row
+        List<CellRangeAddress> expectedMergedRegions = new ArrayList<CellRangeAddress>();
+        CellRangeAddress A4_B8 = CellRangeAddress.valueOf("A4:B8"); //A4:B7 should be elongated by 1 row
+        CellRangeAddress C4_D8 = CellRangeAddress.valueOf("C4:D8"); //C4:B7 should be elongated by 1 row
+        expectedMergedRegions.add(A4_B8);
+        expectedMergedRegions.add(C4_D8);
+        
+        assertEquals(expectedMergedRegions, sheet.getMergedRegions());
+    }
+    
+    
 
     /**
      * See bug #34023



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org