You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2013/08/26 22:09:19 UTC

svn commit: r1517676 - in /poi/trunk: src/java/org/apache/poi/ss/formula/ src/ooxml/testcases/org/apache/poi/xssf/usermodel/ src/testcases/org/apache/poi/ss/formula/ test-data/spreadsheet/

Author: centic
Date: Mon Aug 26 20:09:19 2013
New Revision: 1517676

URL: http://svn.apache.org/r1517676
Log:
Bug 54524: Fix border case in FormulaShifter

Added:
    poi/trunk/test-data/spreadsheet/54524.xlsx
Modified:
    poi/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
    poi/trunk/src/testcases/org/apache/poi/ss/formula/TestFormulaShifter.java

Modified: poi/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java?rev=1517676&r1=1517675&r2=1517676&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/formula/FormulaShifter.java Mon Aug 26 20:09:19 2013
@@ -85,6 +85,7 @@ public final class FormulaShifter {
         return new FormulaShifter(srcSheetIndex, dstSheetIndex);
     }
 
+	@Override
 	public String toString() {
 		StringBuffer sb = new StringBuffer();
 
@@ -322,7 +323,7 @@ public final class FormulaShifter {
 			aptg.setFirstRow(destLastRowIndex+1);
 			return aptg;
 		}
-		if (destFirstRowIndex < aLastRow && aLastRow <= destLastRowIndex) {
+		if (destFirstRowIndex <= aLastRow && aLastRow < destLastRowIndex) {
 			// dest rows overlap bottom of area
 			// - truncate the bottom
 			aptg.setLastRow(destFirstRowIndex-1);

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java?rev=1517676&r1=1517675&r2=1517676&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java Mon Aug 26 20:09:19 2013
@@ -17,8 +17,13 @@
 
 package org.apache.poi.xssf.usermodel;
 
+import java.io.IOException;
+
 import org.apache.poi.ss.usermodel.BaseTestSheetShiftRows;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.util.CellUtil;
 import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.xssf.XSSFTestDataSamples;
 
 /**
  * @author Yegor Kozlov
@@ -36,4 +41,17 @@ public final class TestXSSFSheetShiftRow
     public void testShiftWithComments() { // disabled test from superclass
         // TODO - support shifting of comments.
     }
+
+	public void testBug54524() throws IOException {
+        XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("54524.xlsx");
+        XSSFSheet sheet = workbook.getSheetAt(0);
+		sheet.shiftRows(3, 5, -1);
+
+        Cell cell = CellUtil.getCell(sheet.getRow(1), 0);
+		assertEquals(1.0, cell.getNumericCellValue());
+		cell = CellUtil.getCell(sheet.getRow(2), 0);
+		assertEquals("SUM(A2:A2)", cell.getCellFormula());
+		cell = CellUtil.getCell(sheet.getRow(3), 0);
+		assertEquals("X", cell.getStringCellValue());
+	}
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/formula/TestFormulaShifter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/formula/TestFormulaShifter.java?rev=1517676&r1=1517675&r2=1517676&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/formula/TestFormulaShifter.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/formula/TestFormulaShifter.java Mon Aug 26 20:09:19 2013
@@ -18,6 +18,7 @@
 package org.apache.poi.ss.formula;
 
 import junit.framework.TestCase;
+
 import org.apache.poi.ss.formula.ptg.AreaErrPtg;
 import org.apache.poi.ss.formula.ptg.AreaPtg;
 import org.apache.poi.ss.formula.ptg.Ptg;

Added: poi/trunk/test-data/spreadsheet/54524.xlsx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/54524.xlsx?rev=1517676&view=auto
==============================================================================
Files poi/trunk/test-data/spreadsheet/54524.xlsx (added) and poi/trunk/test-data/spreadsheet/54524.xlsx Mon Aug 26 20:09:19 2013 differ



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