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) {
|
public void addParagraph(XWPFParagraph p) {
|
||||||
paragraphs.add(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
|
* @param pos The position in the list of paragraphs, 0-based
|
||||||
*/
|
*/
|
||||||
public void removeParagraph(int pos) {
|
public void removeParagraph(int pos) {
|
||||||
|
XWPFParagraph removedParagraph = paragraphs.get(pos);
|
||||||
paragraphs.remove(pos);
|
paragraphs.remove(pos);
|
||||||
ctTc.removeP(pos);
|
ctTc.removeP(pos);
|
||||||
|
bodyElements.remove(removedParagraph);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -150,6 +150,58 @@ public class TestXWPFTableCell {
|
||||||
doc.close();
|
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
|
@Test
|
||||||
public void testBug63624() throws Exception {
|
public void testBug63624() throws Exception {
|
||||||
XWPFDocument doc = new XWPFDocument();
|
XWPFDocument doc = new XWPFDocument();
|
||||||
|
|
Loading…
Reference in New Issue