From 29dab17a44b3c1bdf59d93d411e3087f442884b0 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 26 May 2010 14:51:49 +0000 Subject: [PATCH] Add unit test to show that the behaviour in bug #48923 is as expected git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@948462 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFBugs.java | 35 ++++++++++++++++++ test-data/spreadsheet/48923.xlsx | Bin 0 -> 10126 bytes 2 files changed, 35 insertions(+) create mode 100644 test-data/spreadsheet/48923.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 f521cb53b..ea2c8fd59 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -24,6 +24,7 @@ import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.openxml4j.opc.PackagingURIHelper; import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues; +import org.apache.poi.ss.usermodel.Name; import org.apache.poi.xssf.XSSFITestDataProvider; import org.apache.poi.xssf.XSSFTestDataSamples; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet; @@ -158,4 +159,38 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { CTWorksheet sh = wb.getSheetAt(0).getCTWorksheet(); assertNotNull(sh.getPhoneticPr()); } + + /** + * Names which are defined with a Sheet + * should return that sheet index properly + */ + public void test48923() throws Exception { + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48923.xlsx"); + assertEquals(4, wb.getNumberOfNames()); + + Name b1 = wb.getName("NameB1"); + Name b2 = wb.getName("NameB2"); + Name sheet2 = wb.getName("NameSheet2"); + Name test = wb.getName("Test"); + + assertNotNull(b1); + assertEquals("NameB1", b1.getNameName()); + assertEquals("Sheet1", b1.getSheetName()); + assertEquals(-1, b1.getSheetIndex()); + + assertNotNull(b2); + assertEquals("NameB2", b2.getNameName()); + assertEquals("Sheet1", b2.getSheetName()); + assertEquals(-1, b2.getSheetIndex()); + + assertNotNull(sheet2); + assertEquals("NameSheet2", sheet2.getNameName()); + assertEquals("Sheet2", sheet2.getSheetName()); + assertEquals(-1, sheet2.getSheetIndex()); + + assertNotNull(test); + assertEquals("Test", test.getNameName()); + assertEquals("Sheet1", test.getSheetName()); + assertEquals(-1, test.getSheetIndex()); + } } diff --git a/test-data/spreadsheet/48923.xlsx b/test-data/spreadsheet/48923.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..34aba5902b3c3efd4fa3a8fa5e50e88115c2a0bf GIT binary patch literal 10126 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 literal 0 HcmV?d00001