Skip to content

Commit

Permalink
Fix for bug 41015 - add in another paragraph property
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@480093 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
Gagravarr committed Nov 28, 2006
1 parent aca2ade commit 0bf725a
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ public class StyleTextPropAtom extends RecordAtom
new TextProp(2, 0x4000, "spaceafter"),
new TextProp(2, 0x8000, "para_unknown_4"),
new TextProp(2, 0x10000, "para_unknown_5"),
new TextProp(2, 0xA0000, "para_unknown_6")
new TextProp(2, 0xA0000, "para_unknown_6"),
new TextProp(2, 0x200000, "para_unknown_7")
};
/** All the different kinds of character properties we might handle */
public static TextProp[] characterTextPropTypes = new TextProp[] {
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -412,4 +412,36 @@ public void testChangeTextInRichTextRun() throws Exception {
assertEquals(tpCC.getTextPropList(), ntpCC.getTextPropList());
assertEquals(tpDC.getTextPropList(), ntpDC.getTextPropList());
}


/**
* Test case for Bug 41015.
*
* In some cases RichTextRun.getText() threw StringIndexOutOfBoundsException because
* of the wrong list of potential paragraph properties defined in StyleTextPropAtom.
*
*/
public void testBug41015() throws Exception {
RichTextRun[] rt;

SlideShow ppt = new SlideShow(new HSLFSlideShow(System.getProperty("HSLF.testdata.path") + "/bug-41015.ppt"));
Slide sl = ppt.getSlides()[0];
TextRun[] txt = sl.getTextRuns();
assertEquals(2, txt.length);

rt = txt[0].getRichTextRuns();
assertEquals(1, rt.length);
assertEquals(0, rt[0].getIndentLevel());
assertEquals("sdfsdfsdf", rt[0].getText());

rt = txt[1].getRichTextRuns();
assertEquals(2, rt.length);
assertEquals(0, rt[0].getIndentLevel());
assertEquals("Sdfsdfsdf\n" +
"Dfgdfg\n" +
"Dfgdfgdfg\n", rt[0].getText());
assertEquals(1, rt[1].getIndentLevel());
assertEquals("Sdfsdfs\n" +
"Sdfsdf\n", rt[1].getText());
}
}

0 comments on commit 0bf725a

Please sign in to comment.