From bde09054f029fbd8e9206a4b6d83d659e0aebb9c Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Thu, 2 Jun 2016 20:09:35 +0000 Subject: [PATCH] Try to reproduce bug 57798 but it seems to be fixed in the meantime git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1746624 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestSXSSFBugs.java | 3 +- .../ss/usermodel/BaseTestBugzillaIssues.java | 43 ++++++++++++++++++ test-data/spreadsheet/57798.xls | Bin 0 -> 28672 bytes test-data/spreadsheet/57798.xlsx | Bin 0 -> 10420 bytes 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 test-data/spreadsheet/57798.xls create mode 100644 test-data/spreadsheet/57798.xlsx diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java index f131195c10..9ce771b06b 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java @@ -40,7 +40,8 @@ public final class TestSXSSFBugs extends BaseTestBugzillaIssues { @Override @Ignore("Evaluation is not fully supported") @Test public void bug47815() { /* Evaluation is not supported */ } @Override @Ignore("Evaluation is not fully supported") @Test public void test58113() { /* Evaluation is not supported */ } @Override @Ignore("Evaluation is not fully supported") @Test public void bug46729_testMaxFunctionArguments() { /* Evaluation is not supported */ } - + @Override @Ignore("Reading data is not supported") @Test public void bug57798() { /* Reading data is not supported */ } + /** * Setting repeating rows and columns shouldn't break * any print settings that were there before diff --git a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java index e84c391cef..71d5617582 100644 --- a/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java +++ b/src/testcases/org/apache/poi/ss/usermodel/BaseTestBugzillaIssues.java @@ -26,6 +26,7 @@ import static org.junit.Assert.fail; import java.awt.font.FontRenderContext; import java.awt.font.TextAttribute; import java.awt.font.TextLayout; +import java.io.FileInputStream; import java.io.IOException; import java.text.AttributedString; import java.util.HashMap; @@ -35,6 +36,7 @@ import java.awt.geom.Rectangle2D; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.PaneInformation; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.ss.ITestDataProvider; import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.util.CellRangeAddress; @@ -1540,4 +1542,45 @@ public abstract class BaseTestBugzillaIssues { wb.close(); } + + + @Test + public void bug57798() throws Exception { + String fileName = "57798." + _testDataProvider.getStandardFileNameExtension(); + Workbook workbook = _testDataProvider.openSampleWorkbook(fileName); + + Sheet sheet = workbook.getSheet("Sheet1"); + + // ******************************* + // First cell of array formula, OK + int rowId = 0; + int cellId = 1; + System.out.println("Reading row " + rowId + ", col " + cellId); + + Row row = sheet.getRow(rowId); + Cell cell = row.getCell(cellId); + + System.out.println("Formula:" + cell.getCellFormula()); + if (Cell.CELL_TYPE_FORMULA == cell.getCellType()) { + int formulaResultType = cell.getCachedFormulaResultType(); + System.out.println("Formual Result Type:" + formulaResultType); + } + + // ******************************* + // Second cell of array formula, NOT OK for xlsx files + rowId = 1; + cellId = 1; + System.out.println("Reading row " + rowId + ", col " + cellId); + + row = sheet.getRow(rowId); + cell = row.getCell(cellId); + System.out.println("Formula:" + cell.getCellFormula()); + + if (Cell.CELL_TYPE_FORMULA == cell.getCellType()) { + int formulaResultType = cell.getCachedFormulaResultType(); + System.out.println("Formual Result Type:" + formulaResultType); + } + + workbook.close(); + } } diff --git a/test-data/spreadsheet/57798.xls b/test-data/spreadsheet/57798.xls new file mode 100644 index 0000000000000000000000000000000000000000..6f66799f3a1916b03effef8f48d705541f47644e GIT binary patch literal 28672 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 literal 0 HcmV?d00001