]> source.dussan.org Git - poi.git/commitdiff
Bug 55745: fix handling of tables in XSSF if there are comments as well, add testcase...
authorDominik Stadler <centic@apache.org>
Thu, 28 Nov 2013 21:19:34 +0000 (21:19 +0000)
committerDominik Stadler <centic@apache.org>
Thu, 28 Nov 2013 21:19:34 +0000 (21:19 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1546458 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java

index 1794c230b159cde5e3bdca8e411c55b41d4549f4..047fe9c1825fd28fba1616785dba1cfad005517f 100644 (file)
@@ -1043,7 +1043,7 @@ public final class TestXSSFSheet extends BaseTestSheet {
         assertEquals("XSSFSheet#removeRow did not clear calcChain entries",
                 0, calcChain.getCTCalcChain().sizeOfCArray());
 
-        //calcChain should be gone 
+        //calcChain should be gone
         wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
         assertNull(wb.getCalculationChain());
 
@@ -1055,49 +1055,49 @@ public final class TestXSSFSheet extends BaseTestSheet {
     public void testTables() {
        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithTable.xlsx");
        assertEquals(3, wb.getNumberOfSheets());
-       
+
        // Check the table sheet
        XSSFSheet s1 = wb.getSheetAt(0);
        assertEquals("a", s1.getRow(0).getCell(0).getRichStringCellValue().toString());
        assertEquals(1.0, s1.getRow(1).getCell(0).getNumericCellValue());
-       
+
        List<XSSFTable> tables = s1.getTables();
        assertNotNull(tables);
        assertEquals(1, tables.size());
-       
+
        XSSFTable table = tables.get(0);
        assertEquals("Tabella1", table.getName());
        assertEquals("Tabella1", table.getDisplayName());
-       
+
        // And the others
        XSSFSheet s2 = wb.getSheetAt(1);
        assertEquals(0, s2.getTables().size());
        XSSFSheet s3 = wb.getSheetAt(2);
        assertEquals(0, s3.getTables().size());
     }
-    
+
     /**
      * Test to trigger OOXML-LITE generating to include org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetCalcPr
      */
     public void testSetForceFormulaRecalculation() {
         XSSFWorkbook workbook = new XSSFWorkbook();
         XSSFSheet sheet = workbook.createSheet("Sheet 1");
-        
+
         // Set
         sheet.setForceFormulaRecalculation(true);
         assertEquals(true, sheet.getForceFormulaRecalculation());
-        
+
         // calcMode="manual" is unset when forceFormulaRecalculation=true
         CTCalcPr calcPr = workbook.getCTWorkbook().addNewCalcPr();
         calcPr.setCalcMode(STCalcMode.MANUAL);
         sheet.setForceFormulaRecalculation(true);
         assertEquals(STCalcMode.AUTO, calcPr.getCalcMode());
-        
+
         // Check
         sheet.setForceFormulaRecalculation(false);
         assertEquals(false, sheet.getForceFormulaRecalculation());
-        
-        
+
+
         // Save, re-load, and re-check
         workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
         sheet = workbook.getSheet("Sheet 1");
@@ -1210,4 +1210,22 @@ public final class TestXSSFSheet extends BaseTestSheet {
         assertNotNull(sh);
         assertEquals(ROW_COUNT-1, sh.getLastRowNum());
     }
+
+    public static void test55745() throws Exception {
+        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("55745.xlsx");
+        XSSFSheet sheet = wb.getSheetAt(0);
+        List<XSSFTable> tables = sheet.getTables();
+        /*System.out.println(tables.size());
+        
+        for(XSSFTable table : tables) {
+            System.out.println("XPath: " + table.getCommonXpath());
+            System.out.println("Name: " + table.getName());
+            System.out.println("Mapped Cols: " + table.getNumerOfMappedColumns());
+            System.out.println("Rowcount: " + table.getRowCount());
+            System.out.println("End Cell: " + table.getEndCellReference());
+            System.out.println("Start Cell: " + table.getStartCellReference());
+        }*/
+        assertEquals("Sheet should contain 8 tables", 8, tables.size());
+        assertNotNull("Sheet should contain a comments table", sheet.getCommentsTable(false));
+    }
 }