Try to reproduce bug 52258 and add more checks to integration tests
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1722755 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c4c9ac0ccf
commit
f54452a0e7
@ -26,12 +26,14 @@ import org.apache.poi.hpsf.HPSFPropertiesOnlyDocument;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.junit.Test;
|
||||
|
||||
public class HPSFFileHandler extends AbstractFileHandler {
|
||||
public class HPSFFileHandler extends POIFSFileHandler {
|
||||
@Override
|
||||
public void handleFile(InputStream stream) throws Exception {
|
||||
HPSFPropertiesOnlyDocument hpsf = new HPSFPropertiesOnlyDocument(new POIFSFileSystem(stream));
|
||||
assertNotNull(hpsf.getDocumentSummaryInformation());
|
||||
assertNotNull(hpsf.getSummaryInformation());
|
||||
|
||||
handlePOIDocument(hpsf);
|
||||
}
|
||||
|
||||
// a test-case to test this locally without executing the full TestAllFiles
|
||||
|
@ -20,21 +20,45 @@ import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.poi.POIDocument;
|
||||
import org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.junit.Test;
|
||||
|
||||
public class POIFSFileHandler extends AbstractFileHandler {
|
||||
|
||||
@Override
|
||||
public void handleFile(InputStream stream) throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(stream);
|
||||
handlePOIFSFileSystem(fs);
|
||||
fs.close();
|
||||
try {
|
||||
handlePOIFSFileSystem(fs);
|
||||
handleHPSFProperties(fs);
|
||||
} finally {
|
||||
fs.close();
|
||||
}
|
||||
}
|
||||
|
||||
private void handlePOIFSFileSystem(POIFSFileSystem fs) {
|
||||
private void handleHPSFProperties(POIFSFileSystem fs) throws IOException {
|
||||
HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
|
||||
try {
|
||||
// can be null
|
||||
ext.getDocSummaryInformation();
|
||||
ext.getSummaryInformation();
|
||||
|
||||
assertNotNull(ext.getDocumentSummaryInformationText());
|
||||
assertNotNull(ext.getSummaryInformationText());
|
||||
assertNotNull(ext.getText());
|
||||
} finally {
|
||||
ext.close();
|
||||
}
|
||||
}
|
||||
|
||||
private void handlePOIFSFileSystem(POIFSFileSystem fs) {
|
||||
assertNotNull(fs);
|
||||
assertNotNull(fs.getRoot());
|
||||
}
|
||||
@ -48,4 +72,19 @@ public class POIFSFileHandler extends AbstractFileHandler {
|
||||
handlePOIFSFileSystem(fs);
|
||||
fs.close();
|
||||
}
|
||||
|
||||
// a test-case to test this locally without executing the full TestAllFiles
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
File file = new File("test-data/poifs/Notes.ole2");
|
||||
|
||||
InputStream stream = new FileInputStream(file);
|
||||
try {
|
||||
handleFile(stream);
|
||||
} finally {
|
||||
stream.close();
|
||||
}
|
||||
|
||||
//handleExtracting(file);
|
||||
}
|
||||
}
|
||||
|
@ -166,4 +166,18 @@ public final class TestHPSFPropertiesExtractor extends TestCase {
|
||||
assertNotNull(thumbnail.getThumbnailAsWMF());
|
||||
wb.close();
|
||||
}
|
||||
|
||||
public void test52258() throws Exception {
|
||||
POIFSFileSystem fs = new POIFSFileSystem(_samples.openResourceAsStream("TestVisioWithCodepage.vsd"));
|
||||
HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
|
||||
try {
|
||||
assertNotNull(ext.getDocSummaryInformation());
|
||||
assertNotNull(ext.getDocumentSummaryInformationText());
|
||||
assertNotNull(ext.getSummaryInformation());
|
||||
assertNotNull(ext.getSummaryInformationText());
|
||||
assertNotNull(ext.getText());
|
||||
} finally {
|
||||
ext.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user