Browse Source

Unit test for #55747

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1693674 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_13_FINAL
Nick Burch 9 years ago
parent
commit
044151f658

+ 31
- 0
src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java View File

@@ -1120,4 +1120,35 @@ public abstract class BaseTestBugzillaIssues {
assertTrue("HSSF will currently return empty string, XSSF/SXSSF will return null, but had: " + value,
value == null || value.length() == 0);
}
/**
* Formulas with Nested Ifs, or If with text functions like
* Mid in it, can give #VALUE in Excel
*/
@Test
public void bug55747() {
Workbook wb = _testDataProvider.createWorkbook();
FormulaEvaluator ev = wb.getCreationHelper().createFormulaEvaluator();
Sheet s = wb.createSheet();
Row row = s.createRow(0);
row.createCell(0).setCellValue("abc");
row.createCell(1).setCellValue("");
row.createCell(2).setCellValue(3);

Cell cell = row.createCell(5);
cell.setCellFormula("IF(A1<>\"\",MID(A1,1,2),\" \")");
ev.evaluateAll();
assertEquals("ab", cell.getStringCellValue());
cell = row.createCell(6);
cell.setCellFormula("IF(B1<>\"\",MID(A1,1,2),\"empty\")");
ev.evaluateAll();
assertEquals("empty", cell.getStringCellValue());
cell = row.createCell(7);
cell.setCellFormula("IF(A1<>\"\",IF(C1<>\"\",MID(A1,1,2),\"c1\"),\"c2\")");
ev.evaluateAll();
assertEquals("ab", cell.getStringCellValue());
}
}

Loading…
Cancel
Save