diff --git a/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java b/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java index cdd70c33a..c5fe52f81 100644 --- a/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java +++ b/src/testcases/org/apache/poi/poifs/filesystem/TestFileSystemBugs.java @@ -34,33 +34,45 @@ public final class TestFileSystemBugs extends TestCase { public void testNotesOLE2Files() throws Exception { POIDataSamples _samples = POIDataSamples.getPOIFSInstance(); - // Open the file up - POIFSFileSystem fs = new POIFSFileSystem( - _samples.openResourceAsStream("Notes.ole2") - ); + // Open the file up with the two FileSystems + @SuppressWarnings("resource") + DirectoryNode[] roots = new DirectoryNode[] { + new POIFSFileSystem( + _samples.openResourceAsStream("Notes.ole2") + ).getRoot(), + new NPOIFSFileSystem( + _samples.openResourceAsStream("Notes.ole2") + ).getRoot() + }; // Check the contents - assertEquals(1, fs.getRoot().getEntryCount()); + for (DirectoryNode root : roots) { + assertEquals(1, root.getEntryCount()); - Entry entry = fs.getRoot().getEntries().next(); - assertTrue(entry.isDirectoryEntry()); - assertTrue(entry instanceof DirectoryEntry); + Entry entry = root.getEntries().next(); + assertTrue(entry.isDirectoryEntry()); + assertTrue(entry instanceof DirectoryEntry); - // The directory lacks a name! - DirectoryEntry dir = (DirectoryEntry)entry; - assertEquals("", dir.getName()); + // The directory lacks a name! + DirectoryEntry dir = (DirectoryEntry)entry; + assertEquals("", dir.getName()); - // Has two children - assertEquals(2, dir.getEntryCount()); + // Has two children + assertEquals(2, dir.getEntryCount()); - // Check them - Iterator it = dir.getEntries(); - entry = it.next(); - assertEquals(true, entry.isDocumentEntry()); - assertEquals("\u0001Ole10Native", entry.getName()); + // Check them + Iterator it = dir.getEntries(); + entry = it.next(); + assertEquals(true, entry.isDocumentEntry()); + assertEquals("\u0001Ole10Native", entry.getName()); - entry = it.next(); - assertEquals(true, entry.isDocumentEntry()); - assertEquals("\u0001CompObj", entry.getName()); + entry = it.next(); + assertEquals(true, entry.isDocumentEntry()); + assertEquals("\u0001CompObj", entry.getName()); + + // Tidy + if (root.getNFileSystem() != null) + root.getNFileSystem().close(); + } } }