Browse Source

bug 62591 -- revert to ignoring place holders even if they contain metroblobs in ppt

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1837742 13f79535-47bb-0310-9956-ffa450edef68
pull/121/head
Tim Allison 5 years ago
parent
commit
5e241fdd3c

+ 1
- 4
src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextShape.java View File

return return
((getPlaceholderAtom() != null) || ((getPlaceholderAtom() != null) ||
//special case for files saved in Office 2007 //special case for files saved in Office 2007
(getHFPlaceholderAtom() != null)) &&
// check for metro shape of complex placeholder
(!new HSLFMetroShape<HSLFShape>(this).hasMetroBlob())
;
(getHFPlaceholderAtom() != null));
} }





+ 19
- 2
src/scratchpad/testcases/org/apache/poi/hslf/extractor/TestExtractor.java View File

} }
} }


@SuppressWarnings("unused")
@Test @Test
public void testSlideMasterText() throws IOException { public void testSlideMasterText() throws IOException {
String masterTitleText = "This is the Master Title"; String masterTitleText = "This is the Master Title";


String text = ppe.getText(); String text = ppe.getText();
assertContains(text, masterRandomText); assertContains(text, masterRandomText);
assertContains(text, masterFooterText);
assertNotContained(text, masterTitleText);

//make sure that the footer only appears once
int masterFooters = 0;
int offset = text.indexOf(masterFooterText);
while (offset > -1) {
masterFooters++;
offset = text.indexOf(masterFooterText, offset+1);
}
assertEquals(1, masterFooters);
}
}

@Test
public void testSlideMasterText2() throws IOException {
try (final SlideShowExtractor ppe = openExtractor("bug62591.ppt")) {
ppe.setMasterByDefault(true);
String text = ppe.getText();
assertNotContained(text, "Titelmasterformat");
} }
} }



BIN
test-data/slideshow/bug62591.ppt View File


Loading…
Cancel
Save