mirror of
https://github.com/apache/poi.git
synced 2026-02-27 20:40:08 +08:00
[bug-65939] add partial fix for clearing formula with circular ref
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1898680 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3317b6393f
commit
3a496fded8
@ -604,7 +604,11 @@ public class HSSFCell extends CellBase {
|
||||
case ERROR:
|
||||
byte errorValue = (byte) ((FormulaRecordAggregate)_record).getFormulaRecord().getCachedErrorValue();
|
||||
_record = new BoolErrRecord();
|
||||
((BoolErrRecord)_record).setValue(errorValue);
|
||||
try {
|
||||
((BoolErrRecord)_record).setValue(errorValue);
|
||||
} catch (IllegalArgumentException ise) {
|
||||
((BoolErrRecord)_record).setValue((byte) ErrorEval.REF_INVALID.getErrorCode());
|
||||
}
|
||||
_cellType = CellType.ERROR;
|
||||
break;
|
||||
default:
|
||||
|
||||
@ -25,7 +25,6 @@ import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -34,7 +33,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class TestFormulaEval {
|
||||
|
||||
@Disabled("https://bz.apache.org/bugzilla/show_bug.cgi?id=65939")
|
||||
@Test
|
||||
void testCircularRef() throws IOException {
|
||||
try (HSSFWorkbook wb = new HSSFWorkbook()) {
|
||||
@ -46,8 +44,10 @@ class TestFormulaEval {
|
||||
// the following assert should probably be NUMERIC not ERROR (from testing in Excel itself)
|
||||
assertEquals(CellType.ERROR, formulaEvaluator.evaluateFormulaCell(cell));
|
||||
|
||||
cell.setCellFormula(null); //this line fails
|
||||
cell.setCellFormula(null);
|
||||
formulaEvaluator.notifyUpdateCell(cell);
|
||||
//the following assert should probably be BLANK not ERROR
|
||||
assertEquals(CellType.ERROR, cell.getCellType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user