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());
|
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());
|
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