You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2015/08/01 01:53:54 UTC
svn commit: r1693674 -
/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
Author: nick
Date: Fri Jul 31 23:53:54 2015
New Revision: 1693674
URL: http://svn.apache.org/r1693674
Log:
Unit test for #55747
Modified:
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java?rev=1693674&r1=1693673&r2=1693674&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java Fri Jul 31 23:53:54 2015
@@ -1120,4 +1120,35 @@ public abstract class BaseTestBugzillaIs
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());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org