Fix bug 58067: XWPF: don't return deleted text when document is in review-mode
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1722715 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bc6a4a20d4
commit
ff8592b190
@ -215,7 +215,13 @@ public class XWPFParagraph implements IBodyElement, IRunBody, ISDTContents, Para
|
||||
public String getText() {
|
||||
StringBuffer out = new StringBuffer();
|
||||
for (IRunElement run : iruns) {
|
||||
if (run instanceof XWPFSDT) {
|
||||
if (run instanceof XWPFRun) {
|
||||
XWPFRun xRun = (XWPFRun) run;
|
||||
// don't include the text if reviewing is enabled and this is a deleted run
|
||||
if (!xRun.getCTR().isSetRsidDel()) {
|
||||
out.append(xRun.toString());
|
||||
}
|
||||
} else if (run instanceof XWPFSDT) {
|
||||
out.append(((XWPFSDT) run).getContent().getText());
|
||||
} else {
|
||||
out.append(run.toString());
|
||||
|
@ -584,4 +584,15 @@ public final class TestXWPFParagraph {
|
||||
assertNull(p.getRun(null));
|
||||
doc.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test58067() throws IOException {
|
||||
XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("58067.docx");
|
||||
|
||||
StringBuilder str = new StringBuilder();
|
||||
for(XWPFParagraph par : doc.getParagraphs()) {
|
||||
str.append(par.getText()).append("\n");
|
||||
}
|
||||
assertEquals("This is a test.\n\n\n\n3\n4\n5\n\n\n\nThis is a whole paragraph where one word is deleted.\n", str.toString());
|
||||
}
|
||||
}
|
||||
|
BIN
test-data/document/58067.docx
Normal file
BIN
test-data/document/58067.docx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user