Browse Source

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
tags/REL_3_14_FINAL
Dominik Stadler 8 years ago
parent
commit
f9850c1d73

+ 3
- 1
src/integrationtest/org/apache/poi/stress/HPSFFileHandler.java View File

@@ -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

+ 42
- 3
src/integrationtest/org/apache/poi/stress/POIFSFileHandler.java View File

@@ -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);
}
}

+ 14
- 0
src/testcases/org/apache/poi/hpsf/extractor/TestHPSFPropertiesExtractor.java View 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…
Cancel
Save