From 1a906b4d68806e179b131762b08ef915688957e2 Mon Sep 17 00:00:00 2001 From: Javen O'Neal Date: Sat, 11 Jun 2016 00:11:41 +0000 Subject: [PATCH] bug 57840: add test using a Data Table not anchored at A1 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1747819 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFTable.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java index c5ecd440f..57ae3c221 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTable.java @@ -117,13 +117,11 @@ public final class TestXSSFTable { @Test public void findColumnIndex() throws IOException { XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("StructuredReferences.xlsx"); - // FIXME: use a worksheet where upper left cell of table is not A1 so that we test - // that XSSFTable.findColumnIndex returns the column index relative to the first - // column in the table, not the column number in the sheet XSSFTable table = wb.getTable("\\_Prime.1"); assertNotNull(table); - assertEquals(0, table.findColumnIndex("calc='#*'#")); + assertEquals("column header has special escaped characters", + 0, table.findColumnIndex("calc='#*'#")); assertEquals(1, table.findColumnIndex("Name")); assertEquals(2, table.findColumnIndex("Number")); @@ -137,6 +135,21 @@ public final class TestXSSFTable { wb.close(); } + @Test + public void findColumnIndexIsRelativeToTableNotSheet() throws IOException { + XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("DataTableCities.xlsx"); + XSSFTable table = wb.getTable("SmallCity"); + + // Make sure that XSSFTable.findColumnIndex returns the column index relative to the first + // column in the table, not the column number in the sheet + assertEquals(0, table.findColumnIndex("City")); // column I in worksheet but 0th column in table + assertEquals(1, table.findColumnIndex("Latitude")); + assertEquals(2, table.findColumnIndex("Longitude")); + assertEquals(3, table.findColumnIndex("Population")); + + wb.close(); + } + @Test public void getSheetName() throws IOException { XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("StructuredReferences.xlsx");