Add DISABLED test which shows the latest problem relating to bug #49139

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@940648 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2010-05-03 21:58:26 +00:00
parent 311e03f1e7
commit e0ae7b1177
2 changed files with 20 additions and 3 deletions

View File

@ -33,7 +33,7 @@ import org.apache.poi.hpsf.ClassID;
*/ */
public interface DirectoryEntry public interface DirectoryEntry
extends Entry extends Entry, Iterable<Entry>
{ {
/** /**

View File

@ -177,9 +177,9 @@ public final class TestPOIFSFileSystem extends TestCase {
/** /**
* Most OLE2 files use 512byte blocks. However, a small number * Most OLE2 files use 512byte blocks. However, a small number
* use 4k blocks. Check that we can open these. * use 4k blocks. Check that we can open these.
* DISABLED until we get a sample 4k block file that's under 22mb... * DISABLED until we fix the bug with DocumentBlocks on 4k sizes
*/ */
public void test4KBlocks() throws Exception { public void DISABLEDtest4KBlocks() throws Exception {
POIDataSamples _samples = POIDataSamples.getPOIFSInstance(); POIDataSamples _samples = POIDataSamples.getPOIFSInstance();
InputStream inp = _samples.openResourceAsStream("BlockSize4096.zvi"); InputStream inp = _samples.openResourceAsStream("BlockSize4096.zvi");
@ -203,11 +203,28 @@ public final class TestPOIFSFileSystem extends TestCase {
); );
assertTrue(fs.getRoot().getEntryCount() > 3); assertTrue(fs.getRoot().getEntryCount() > 3);
// Check we can get at all the contents
checkAllDirectoryContents(fs.getRoot());
// Finally, check we can do a similar 512byte one too // Finally, check we can do a similar 512byte one too
fs = new POIFSFileSystem( fs = new POIFSFileSystem(
_samples.openResourceAsStream("BlockSize512.zvi") _samples.openResourceAsStream("BlockSize512.zvi")
); );
assertTrue(fs.getRoot().getEntryCount() > 3); assertTrue(fs.getRoot().getEntryCount() > 3);
checkAllDirectoryContents(fs.getRoot());
}
private void checkAllDirectoryContents(DirectoryEntry dir) throws IOException {
for(Entry entry : dir) {
if(entry instanceof DirectoryEntry) {
checkAllDirectoryContents((DirectoryEntry)entry);
} else {
DocumentInputStream dis = new DocumentInputStream((DocumentNode) entry);
int numBytes = dis.available();
byte[] data = new byte [numBytes];
dis.read(data);
}
}
} }
private static InputStream openSampleStream(String sampleFileName) { private static InputStream openSampleStream(String sampleFileName) {