diff options
Diffstat (limited to 'src/testcases/org/apache/poi/ss/usermodel')
-rw-r--r-- | src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java index 9161b0a98f..83450e45d4 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java @@ -37,7 +37,6 @@ import org.apache.poi.ss.ITestDataProvider; import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.SheetUtil; -import org.apache.poi.util.StringUtil; import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; @@ -1150,5 +1149,27 @@ public abstract class BaseTestBugzillaIssues { cell.setCellFormula("IF(A1<>\"\",IF(C1<>\"\",MID(A1,1,2),\"c1\"),\"c2\")"); ev.evaluateAll(); assertEquals("ab", cell.getStringCellValue()); + + // Write it back out, and re-read + wb = _testDataProvider.writeOutAndReadBack(wb); + ev = wb.getCreationHelper().createFormulaEvaluator(); + s = wb.getSheetAt(0); + row = s.getRow(0); + + // Check read ok, and re-evaluate fine + cell = row.getCell(5); + assertEquals("ab", cell.getStringCellValue()); + ev.evaluateFormulaCell(cell); + assertEquals("ab", cell.getStringCellValue()); + + cell = row.getCell(6); + assertEquals("empty", cell.getStringCellValue()); + ev.evaluateFormulaCell(cell); + assertEquals("empty", cell.getStringCellValue()); + + cell = row.getCell(7); + assertEquals("ab", cell.getStringCellValue()); + ev.evaluateFormulaCell(cell); + assertEquals("ab", cell.getStringCellValue()); } } |