Verify that bug 45541 can be resolved, add some more checks in XSLFFileHandler
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1705804 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
1b2b506edb
commit
72ae82f7dc
@ -16,13 +16,16 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.stress;
|
package org.apache.poi.stress;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
import org.apache.poi.extractor.ExtractorFactory;
|
||||||
import org.apache.poi.xslf.XSLFSlideShow;
|
import org.apache.poi.xslf.XSLFSlideShow;
|
||||||
|
import org.apache.poi.xslf.extractor.XSLFPowerPointExtractor;
|
||||||
import org.apache.poi.xslf.usermodel.XMLSlideShow;
|
import org.apache.poi.xslf.usermodel.XMLSlideShow;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
@ -43,6 +46,24 @@ public class XSLFFileHandler extends SlideShowHandler {
|
|||||||
slide.close();
|
slide.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handleExtracting(File file) throws Exception {
|
||||||
|
super.handleExtracting(file);
|
||||||
|
|
||||||
|
|
||||||
|
// additionally try the other getText() methods
|
||||||
|
|
||||||
|
XSLFPowerPointExtractor extractor = (XSLFPowerPointExtractor) ExtractorFactory.createExtractor(file);
|
||||||
|
try {
|
||||||
|
assertNotNull(extractor);
|
||||||
|
|
||||||
|
assertNotNull(extractor.getText(true, true, true));
|
||||||
|
assertEquals("With all options disabled we should not get text",
|
||||||
|
"", extractor.getText(false, false, false));
|
||||||
|
} finally {
|
||||||
|
extractor.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// a test-case to test this locally without executing the full TestAllFiles
|
// a test-case to test this locally without executing the full TestAllFiles
|
||||||
@Test
|
@Test
|
||||||
public void test() throws Exception {
|
public void test() throws Exception {
|
||||||
|
@ -16,11 +16,14 @@
|
|||||||
==================================================================== */
|
==================================================================== */
|
||||||
package org.apache.poi.xslf.extractor;
|
package org.apache.poi.xslf.extractor;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
import org.apache.poi.POIDataSamples;
|
import org.apache.poi.POIDataSamples;
|
||||||
|
import org.apache.poi.POITextExtractor;
|
||||||
|
import org.apache.poi.extractor.ExtractorFactory;
|
||||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||||
import org.apache.poi.xslf.XSLFSlideShow;
|
import org.apache.poi.xslf.XSLFSlideShow;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for HXFPowerPointExtractor
|
* Tests for HXFPowerPointExtractor
|
||||||
*/
|
*/
|
||||||
@ -279,4 +282,36 @@ public class TestXSLFPowerPointExtractor extends TestCase {
|
|||||||
extractor.close();
|
extractor.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void test45541() throws Exception {
|
||||||
|
// extract text from a powerpoint that has a header in the notes-element
|
||||||
|
POITextExtractor extr = ExtractorFactory.createExtractor(slTests
|
||||||
|
.openResourceAsStream("45541_Header.pptx"));
|
||||||
|
String text = extr.getText();
|
||||||
|
assertNotNull(text);
|
||||||
|
assertFalse("Had: " + text, text.contains("testdoc"));
|
||||||
|
|
||||||
|
text = ((XSLFPowerPointExtractor)extr).getText(false, true);
|
||||||
|
assertNotNull(text);
|
||||||
|
assertTrue("Had: " + text, text.contains("testdoc"));
|
||||||
|
extr.close();
|
||||||
|
assertNotNull(text);
|
||||||
|
|
||||||
|
// extract text from a powerpoint that has a footer in the master-slide
|
||||||
|
extr = ExtractorFactory.createExtractor(slTests
|
||||||
|
.openResourceAsStream("45541_Footer.pptx"));
|
||||||
|
text = extr.getText();
|
||||||
|
assertNotNull(text);
|
||||||
|
assertFalse("Had " + text, text.contains("testdoc"));
|
||||||
|
|
||||||
|
text = ((XSLFPowerPointExtractor)extr).getText(false, true);
|
||||||
|
assertNotNull(text);
|
||||||
|
assertFalse("Had: " + text, text.contains("testdoc"));
|
||||||
|
|
||||||
|
text = ((XSLFPowerPointExtractor)extr).getText(false, false, true);
|
||||||
|
assertNotNull(text);
|
||||||
|
assertFalse("Had: " + text, text.contains("testdoc"));
|
||||||
|
|
||||||
|
extr.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user