Browse Source

[bug-61792] basic test

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1815873 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_4_0_0_FINAL
PJ Fanning 6 years ago
parent
commit
bb40ff4fd3

+ 4
- 0
src/java/org/apache/poi/sl/draw/DrawTextParagraph.java View File

@@ -378,6 +378,10 @@ public class DrawTextParagraph implements Drawable {
Slide<?,?> slide = (Slide<?,?>)graphics.getRenderingHint(Drawable.CURRENT_SLIDE);
return (slide == null) ? "" : Integer.toString(slide.getSlideNumber());
}
return getRenderableText(tr);
}

String getRenderableText(TextRun tr) {
String txt = tr.getRawText();
txt.replace("\t", tab2space(tr)).replace("\u000b", "\n");


+ 3
- 1
src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java View File

@@ -94,8 +94,10 @@ public class XSLFTextRun implements TextRun {
return "\n";
}

return getRenderableText(((CTRegularTextRun)_r).getT());
}

String txt = ((CTRegularTextRun)_r).getT();
String getRenderableText(String txt){
// TODO: finish support for tabs
txt.replace("\t", " ");


+ 19
- 0
src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java View File

@@ -77,4 +77,23 @@ public class TestXSLFTextRun {
ppt.close();
}

@Test
public void testUnicodeSurrogates() throws Exception {
final String unicodeSurrogates = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E"
+ "\uD835\uDF4F\uD835\uDF50\uD835\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835"
+ "\uDF55\uD835\uDF56\uD835\uDF57\uD835\uDF58\uD835\uDF59\uD835\uDF5A\uD835\uDF5B"
+ "\uD835\uDF5C\uD835\uDF5D\uD835\uDF5E\uD835\uDF5F\uD835\uDF60\uD835\uDF61\uD835"
+ "\uDF62\uD835\uDF63\uD835\uDF64\uD835\uDF65\uD835\uDF66\uD835\uDF67\uD835\uDF68"
+ "\uD835\uDF69\uD835\uDF6A\uD835\uDF6B\uD835\uDF6C\uD835\uDF6D\uD835\uDF6E\uD835"
+ "\uDF6F\uD835\uDF70\uD835\uDF71\uD835\uDF72\uD835\uDF73\uD835\uDF74\uD835\uDF75"
+ "\uD835\uDF76\uD835\uDF77\uD835\uDF78\uD835\uDF79\uD835\uDF7A";

try (XMLSlideShow ppt = new XMLSlideShow()) {
XSLFSlide slide = ppt.createSlide();
XSLFTextShape sh = slide.createAutoShape();
XSLFTextRun r = sh.addNewTextParagraph().addNewTextRun();
assertEquals(unicodeSurrogates, r.getRenderableText(unicodeSurrogates));
}
}
}

Loading…
Cancel
Save