From 663171c6c22b5d2fdde9ccb9189f1830fe44a500 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Tue, 4 Nov 2014 16:20:05 +0000 Subject: [PATCH] Add unit test for bug #57176 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1636634 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFBugs.java | 47 +++++++++++++++++- test-data/spreadsheet/57176.xlsx | Bin 0 -> 8157 bytes 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 test-data/spreadsheet/57176.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 658d03e50..d7f4af1e8 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -18,7 +18,13 @@ package org.apache.poi.xssf.usermodel; import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -46,7 +52,26 @@ import org.apache.poi.ss.formula.eval.ErrorEval; import org.apache.poi.ss.formula.eval.NumberEval; import org.apache.poi.ss.formula.eval.ValueEval; import org.apache.poi.ss.formula.functions.Function; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.CellValue; +import org.apache.poi.ss.usermodel.ClientAnchor; +import org.apache.poi.ss.usermodel.Comment; +import org.apache.poi.ss.usermodel.CreationHelper; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.Drawing; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.FormulaError; +import org.apache.poi.ss.usermodel.FormulaEvaluator; +import org.apache.poi.ss.usermodel.Hyperlink; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.ss.usermodel.Name; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.AreaReference; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellReference; @@ -60,6 +85,8 @@ import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill; import org.junit.Ignore; import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedNames; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet; import org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTFontImpl; @@ -1860,6 +1887,22 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { assertEquals(3, wb.getNumberOfSheets()); } + /** + * CTDefinedNamesImpl should be included in the smaller + * poi-ooxml-schemas jar + */ + @Test + public void bug57176() throws Exception { + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("57176.xlsx"); + CTDefinedNames definedNames = wb.getCTWorkbook().getDefinedNames(); + List definedNameList = definedNames.getDefinedNameList(); + for (CTDefinedName defName : definedNameList) { + assertNotNull(defName.getName()); + assertNotNull(defName.getStringValue()); + } + assertEquals("TestDefinedName", definedNameList.get(0).getName()); + } + /** * .xlsb files are not supported, but we should generate a helpful * error message if given one diff --git a/test-data/spreadsheet/57176.xlsx b/test-data/spreadsheet/57176.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cd7dd84cc329083891aae9128ee9e05385120fb6 GIT binary patch literal 8157 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 literal 0 HcmV?d00001