aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2011-05-27 14:48:22 +0000
committerNick Burch <nick@apache.org>2011-05-27 14:48:22 +0000
commit00f201a58983e4ee1f452a267544155e20f4487e (patch)
treee28d7453cf786ca9e00289996933cd30f0a6c208 /src/ooxml
parent26e1eb1d5da83d632a08da3a29fa7a4d7994c669 (diff)
downloadpoi-00f201a58983e4ee1f452a267544155e20f4487e.tar.gz
poi-00f201a58983e4ee1f452a267544155e20f4487e.zip
Fix bug #47147 - XWPF table cells adding extra paragraph - test from Stefan Stern
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1128331 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml')
-rw-r--r--src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java1
-rw-r--r--src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java28
2 files changed, 28 insertions, 1 deletions
diff --git a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
index ec981cad36..d310b288ae 100644
--- a/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
+++ b/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFTable.java
@@ -51,7 +51,6 @@ public class XWPFTable implements IBodyElement{
this(table, part);
for (int i = 0; i < row; i++) {
XWPFTableRow tabRow = (getRow(i) == null) ? createRow() : getRow(i);
- tableRows.add(tabRow);
for (int k = 0; k < col; k++) {
XWPFTableCell tabCell = (tabRow.getCell(k) == null) ? tabRow
.createCell() : null;
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java
index 6d9a0e93b3..a8eaf1966c 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFTable.java
@@ -17,9 +17,11 @@
package org.apache.poi.xwpf.usermodel;
import java.math.BigInteger;
+import java.util.List;
import junit.framework.TestCase;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTR;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow;
@@ -130,4 +132,30 @@ public class TestXWPFTable extends TestCase {
assertEquals(20, row.getHeight());
}
+ public void testCreateTable() throws Exception {
+ // open an empty document
+ XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");
+
+ // create a table with 5 rows and 7 coloumns
+ int noRows = 5;
+ int noCols = 7;
+ XWPFTable table = doc.createTable(noRows,noCols);
+
+ // assert the table is empty
+ List<XWPFTableRow> rows = table.getRows();
+ assertEquals("Table has less rows than requested.", noRows, rows.size());
+ for (XWPFTableRow xwpfRow : rows)
+ {
+ assertNotNull(xwpfRow);
+ for (int i = 0 ; i < 7 ; i++)
+ {
+ XWPFTableCell xwpfCell = xwpfRow.getCell(i);
+ assertNotNull(xwpfCell);
+ assertEquals("Empty cells should not have one paragraph.",1,xwpfCell.getParagraphs().size());
+ xwpfCell = xwpfRow.getCell(i);
+ assertEquals("Calling 'getCell' must not modify cells content.",1,xwpfCell.getParagraphs().size());
+ }
+ }
+ doc.getPackage().revert();
+ }
} \ No newline at end of file