From 92f1cd20da4b90070fc9a3b6814450515e35284b Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Thu, 3 Jul 2014 14:30:47 +0000 Subject: [PATCH] Add a disabled unit test for bug #56420 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1607661 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFBugs.java | 17 +++++++++++++++++ test-data/spreadsheet/56420.xlsx | Bin 0 -> 9201 bytes 2 files changed, 17 insertions(+) create mode 100644 test-data/spreadsheet/56420.xlsx diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java index 71f462361..13e6629b7 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -1565,6 +1565,23 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { File xlsOutput = TempFile.createTempFile("testBug53798", ".xls"); bug53798Work(wb, xlsOutput); } + + /** + * SUMIF was throwing a NPE on some formulas + */ + @Test + @Ignore("This bug is still to be fixed") + public void testBug56420SumIfNPE() throws Exception { + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("56420.xlsx"); + + FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); + + Sheet sheet = wb.getSheetAt(0); + Row r = sheet.getRow(2); + Cell c = r.getCell(2); + assertEquals("SUMIF($A$1:$A$4,A3,$B$1:$B$4)", c.getCellFormula()); + evaluator.evaluateInCell(c); + } private void bug53798Work(Workbook wb, File xlsOutput) throws IOException { Sheet testSheet = wb.getSheetAt(0); diff --git a/test-data/spreadsheet/56420.xlsx b/test-data/spreadsheet/56420.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..bd1ceff966880ccc5b2182b2bb3a39c57eef099c GIT binary patch literal 9201 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