mirror of https://github.com/apache/poi.git
[bug-65939] add partial fix for clearing formula with circular ref
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1898681 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3a496fded8
commit
19366d6013
|
@ -25,4 +25,26 @@ class TestFormulaEval {
|
|||
assertEquals(CellType.ERROR, cell.getCellType());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCircularRef2() throws IOException {
|
||||
try (XSSFWorkbook wb = new XSSFWorkbook()) {
|
||||
XSSFSheet sheet = wb.createSheet();
|
||||
XSSFRow row = sheet.createRow(0);
|
||||
XSSFCell cell0 = row.createCell(0);
|
||||
XSSFCell cell1 = row.createCell(1);
|
||||
cell0.setCellFormula("B1");
|
||||
cell1.setCellFormula("A1");
|
||||
XSSFFormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||
formulaEvaluator.evaluateAll();
|
||||
|
||||
cell0.setCellFormula(null);
|
||||
cell1.setCellFormula(null);
|
||||
formulaEvaluator.notifyUpdateCell(cell0);
|
||||
formulaEvaluator.notifyUpdateCell(cell1);
|
||||
//the following asserts should probably be BLANK not ERROR
|
||||
assertEquals(CellType.ERROR, cell0.getCellType());
|
||||
assertEquals(CellType.ERROR, cell1.getCellType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,4 +50,26 @@ class TestFormulaEval {
|
|||
assertEquals(CellType.ERROR, cell.getCellType());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCircularRef2() throws IOException {
|
||||
try (HSSFWorkbook wb = new HSSFWorkbook()) {
|
||||
HSSFSheet sheet = wb.createSheet();
|
||||
HSSFRow row = sheet.createRow(0);
|
||||
HSSFCell cell0 = row.createCell(0);
|
||||
HSSFCell cell1 = row.createCell(1);
|
||||
cell0.setCellFormula("B1");
|
||||
cell1.setCellFormula("A1");
|
||||
HSSFFormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||
formulaEvaluator.evaluateAll();
|
||||
|
||||
cell0.setCellFormula(null);
|
||||
cell1.setCellFormula(null);
|
||||
formulaEvaluator.notifyUpdateCell(cell0);
|
||||
formulaEvaluator.notifyUpdateCell(cell1);
|
||||
//the following asserts should probably be BLANK not ERROR
|
||||
assertEquals(CellType.ERROR, cell0.getCellType());
|
||||
assertEquals(CellType.ERROR, cell1.getCellType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue