mirror of https://github.com/apache/poi.git
XWPFTableCell does not process bodyElements when handle paragraph
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1875746 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6e6a638ca0
commit
4342180475
|
@ -160,6 +160,7 @@ public class XWPFTableCell implements IBody, ICell {
|
|||
*/
|
||||
public void addParagraph(XWPFParagraph p) {
|
||||
paragraphs.add(p);
|
||||
bodyElements.add(p);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -168,8 +169,10 @@ public class XWPFTableCell implements IBody, ICell {
|
|||
* @param pos The position in the list of paragraphs, 0-based
|
||||
*/
|
||||
public void removeParagraph(int pos) {
|
||||
XWPFParagraph removedParagraph = paragraphs.get(pos);
|
||||
paragraphs.remove(pos);
|
||||
ctTc.removeP(pos);
|
||||
bodyElements.remove(removedParagraph);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -150,6 +150,58 @@ public class TestXWPFTableCell {
|
|||
doc.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddParagraph() throws Exception {
|
||||
XWPFDocument doc = new XWPFDocument();
|
||||
XWPFTable table = doc.createTable();
|
||||
XWPFTableRow tr = table.createRow();
|
||||
XWPFTableCell cell = tr.addNewTableCell();
|
||||
|
||||
// cell have at least one paragraph by default
|
||||
assertEquals(1, cell.getParagraphs().size());
|
||||
assertEquals(1, cell.getBodyElements().size());
|
||||
assertEquals(cell.getParagraphArray(0), cell.getBodyElements().get(0));
|
||||
|
||||
XWPFParagraph p = cell.addParagraph();
|
||||
assertEquals(2, cell.getParagraphs().size());
|
||||
assertEquals(2, cell.getBodyElements().size());
|
||||
assertEquals(p, cell.getParagraphArray(1));
|
||||
assertEquals(cell.getParagraphArray(1), cell.getBodyElements().get(1));
|
||||
|
||||
doc.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveParagraph() throws Exception {
|
||||
XWPFDocument doc = new XWPFDocument();
|
||||
XWPFTable table = doc.createTable();
|
||||
XWPFTableRow tr = table.createRow();
|
||||
XWPFTableCell cell = tr.addNewTableCell();
|
||||
|
||||
// cell have at least one paragraph by default
|
||||
XWPFParagraph p0 = cell.getParagraphArray(0);
|
||||
XWPFParagraph p1 = cell.addParagraph();
|
||||
cell.addParagraph();
|
||||
|
||||
// remove 3rd
|
||||
cell.removeParagraph(2);
|
||||
assertEquals(2, cell.getParagraphs().size());
|
||||
assertEquals(2, cell.getBodyElements().size());
|
||||
assertEquals(p0, cell.getParagraphArray(0));
|
||||
assertEquals(p1, cell.getParagraphArray(1));
|
||||
assertEquals(p0, cell.getBodyElements().get(0));
|
||||
assertEquals(p1, cell.getBodyElements().get(1));
|
||||
|
||||
// remove 2nd
|
||||
cell.removeParagraph(1);
|
||||
assertEquals(1, cell.getParagraphs().size());
|
||||
assertEquals(1, cell.getBodyElements().size());
|
||||
assertEquals(p0, cell.getParagraphArray(0));
|
||||
assertEquals(p0, cell.getBodyElements().get(0));
|
||||
|
||||
doc.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBug63624() throws Exception {
|
||||
XWPFDocument doc = new XWPFDocument();
|
||||
|
|
Loading…
Reference in New Issue