Make the test generic across POIFS and NPOIFS

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1675698 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-04-23 18:20:27 +00:00
parent f8977f76d0
commit d540ba43cc

View File

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