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.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class HPSFFileHandler extends AbstractFileHandler {
|
public class HPSFFileHandler extends POIFSFileHandler {
|
||||||
@Override
|
@Override
|
||||||
public void handleFile(InputStream stream) throws Exception {
|
public void handleFile(InputStream stream) throws Exception {
|
||||||
HPSFPropertiesOnlyDocument hpsf = new HPSFPropertiesOnlyDocument(new POIFSFileSystem(stream));
|
HPSFPropertiesOnlyDocument hpsf = new HPSFPropertiesOnlyDocument(new POIFSFileSystem(stream));
|
||||||
assertNotNull(hpsf.getDocumentSummaryInformation());
|
assertNotNull(hpsf.getDocumentSummaryInformation());
|
||||||
assertNotNull(hpsf.getSummaryInformation());
|
assertNotNull(hpsf.getSummaryInformation());
|
||||||
|
|
||||||
|
handlePOIDocument(hpsf);
|
||||||
}
|
}
|
||||||
|
|
||||||
// a test-case to test this locally without executing the full TestAllFiles
|
// 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.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
import org.apache.poi.POIDocument;
|
import org.apache.poi.POIDocument;
|
||||||
|
import org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor;
|
||||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
public class POIFSFileHandler extends AbstractFileHandler {
|
public class POIFSFileHandler extends AbstractFileHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleFile(InputStream stream) throws Exception {
|
public void handleFile(InputStream stream) throws Exception {
|
||||||
POIFSFileSystem fs = new POIFSFileSystem(stream);
|
POIFSFileSystem fs = new POIFSFileSystem(stream);
|
||||||
handlePOIFSFileSystem(fs);
|
try {
|
||||||
fs.close();
|
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);
|
||||||
assertNotNull(fs.getRoot());
|
assertNotNull(fs.getRoot());
|
||||||
}
|
}
|
||||||
@ -48,4 +72,19 @@ public class POIFSFileHandler extends AbstractFileHandler {
|
|||||||
handlePOIFSFileSystem(fs);
|
handlePOIFSFileSystem(fs);
|
||||||
fs.close();
|
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());
|
assertNotNull(thumbnail.getThumbnailAsWMF());
|
||||||
wb.close();
|
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