More progress with the write/read npoifs tests, but one bug still to go....
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1590153 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2c23f889df
commit
fb89f2c2aa
@ -646,10 +646,11 @@ public final class TestNPOIFSFileSystem {
|
|||||||
public void readWriteRead() throws Exception {
|
public void readWriteRead() throws Exception {
|
||||||
SummaryInformation sinf = null;
|
SummaryInformation sinf = null;
|
||||||
DocumentSummaryInformation dinf = null;
|
DocumentSummaryInformation dinf = null;
|
||||||
|
DirectoryEntry root = null, testDir = null;
|
||||||
|
|
||||||
for(NPOIFSFileSystem fs : get512and4kFileAndInput()) {
|
for(NPOIFSFileSystem fs : get512and4kFileAndInput()) {
|
||||||
// Check we can find the entries we expect
|
// Check we can find the entries we expect
|
||||||
DirectoryNode root = fs.getRoot();
|
root = fs.getRoot();
|
||||||
assertEquals(5, root.getEntryCount());
|
assertEquals(5, root.getEntryCount());
|
||||||
assertThat(root.getEntryNames(), hasItem("Thumbnail"));
|
assertThat(root.getEntryNames(), hasItem("Thumbnail"));
|
||||||
assertThat(root.getEntryNames(), hasItem("Image"));
|
assertThat(root.getEntryNames(), hasItem("Image"));
|
||||||
@ -678,11 +679,13 @@ public final class TestNPOIFSFileSystem {
|
|||||||
|
|
||||||
dinf = (DocumentSummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
dinf = (DocumentSummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
||||||
(DocumentEntry)root.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME)));
|
(DocumentEntry)root.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME)));
|
||||||
assertEquals(131333, sinf.getOSVersion());
|
assertEquals(131333, dinf.getOSVersion());
|
||||||
|
|
||||||
|
|
||||||
// Add a test mini stream
|
// Add a test mini stream
|
||||||
DirectoryEntry testDir = root.createDirectory("Testing 123");
|
testDir = root.createDirectory("Testing 123");
|
||||||
|
testDir.createDirectory("Testing 456");
|
||||||
|
testDir.createDirectory("Testing 789");
|
||||||
byte[] mini = new byte[] { 42, 0, 1, 2, 3, 4, 42 };
|
byte[] mini = new byte[] { 42, 0, 1, 2, 3, 4, 42 };
|
||||||
testDir.createDocument("Mini", new ByteArrayInputStream(mini));
|
testDir.createDocument("Mini", new ByteArrayInputStream(mini));
|
||||||
|
|
||||||
@ -707,26 +710,85 @@ public final class TestNPOIFSFileSystem {
|
|||||||
|
|
||||||
dinf = (DocumentSummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
dinf = (DocumentSummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
||||||
(DocumentEntry)root.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME)));
|
(DocumentEntry)root.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME)));
|
||||||
assertEquals(131333, sinf.getOSVersion());
|
assertEquals(131333, dinf.getOSVersion());
|
||||||
|
|
||||||
testDir = (DirectoryEntry)root.getEntry("Testing 123");
|
testDir = (DirectoryEntry)root.getEntry("Testing 123");
|
||||||
assertContentsMatches(mini, (DocumentEntry)testDir.getEntry("Mini"));
|
assertContentsMatches(mini, (DocumentEntry)testDir.getEntry("Mini"));
|
||||||
|
|
||||||
|
|
||||||
// Add a full stream, delete a full stream
|
// Add a full stream, delete a full stream
|
||||||
// TODO Add check
|
byte[] main4096 = new byte[4096];
|
||||||
|
main4096[0] = -10;
|
||||||
|
main4096[4095] = -11;
|
||||||
|
testDir.createDocument("Normal4096", new ByteArrayInputStream(main4096));
|
||||||
|
|
||||||
|
root.getEntry("Tags").delete();
|
||||||
|
|
||||||
|
|
||||||
// Write out, re-load
|
// Write out, re-load
|
||||||
// TODO Add check
|
fs = writeOutAndReadBack(fs);
|
||||||
|
}
|
||||||
|
// TODO Fix from here on down
|
||||||
|
/*
|
||||||
// Check it's all there
|
// Check it's all there
|
||||||
// TODO Add check
|
assertEquals(5, root.getEntryCount());
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Thumbnail"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Image"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Testing 123"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("\u0005DocumentSummaryInformation"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("\u0005SummaryInformation"));
|
||||||
|
|
||||||
// TODO Something about directories too
|
|
||||||
|
// Check old and new are there
|
||||||
|
sinf = (SummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
||||||
|
(DocumentEntry)root.getEntry(SummaryInformation.DEFAULT_STREAM_NAME)));
|
||||||
|
assertEquals(131333, sinf.getOSVersion());
|
||||||
|
|
||||||
|
dinf = (DocumentSummaryInformation)PropertySetFactory.create(new NDocumentInputStream(
|
||||||
|
(DocumentEntry)root.getEntry(DocumentSummaryInformation.DEFAULT_STREAM_NAME)));
|
||||||
|
assertEquals(131333, dinf.getOSVersion());
|
||||||
|
|
||||||
|
testDir = (DirectoryEntry)root.getEntry("Testing 123");
|
||||||
|
assertContentsMatches(mini, (DocumentEntry)testDir.getEntry("Mini"));
|
||||||
|
assertContentsMatches(main4096, (DocumentEntry)testDir.getEntry("Normal4096"));
|
||||||
|
|
||||||
|
|
||||||
|
// Delete a directory, and add one more
|
||||||
|
testDir.getEntry("Testing 456").delete();
|
||||||
|
testDir.createDirectory("Testing ABC");
|
||||||
|
|
||||||
|
|
||||||
|
// Save
|
||||||
|
fs = writeOutAndReadBack(fs);
|
||||||
|
|
||||||
|
// Check
|
||||||
|
assertEquals(5, root.getEntryCount());
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Thumbnail"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Image"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("Testing 123"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("\u0005DocumentSummaryInformation"));
|
||||||
|
assertThat(root.getEntryNames(), hasItem("\u0005SummaryInformation"));
|
||||||
|
|
||||||
|
testDir = (DirectoryEntry)root.getEntry("Testing 123");
|
||||||
|
assertEquals(4, testDir.getEntryCount());
|
||||||
|
assertThat(testDir.getEntryNames(), hasItem("Mini"));
|
||||||
|
assertThat(testDir.getEntryNames(), hasItem("Normal4096"));
|
||||||
|
assertThat(testDir.getEntryNames(), hasItem("Testing 789"));
|
||||||
|
assertThat(testDir.getEntryNames(), hasItem("Testing ABC"));
|
||||||
|
|
||||||
|
|
||||||
|
// Another mini stream
|
||||||
|
|
||||||
|
// Save, load, check
|
||||||
|
|
||||||
|
// Delete a mini stream, add one more
|
||||||
|
|
||||||
|
// Save, load, check
|
||||||
|
|
||||||
// All done
|
// All done
|
||||||
fs.close();
|
fs.close();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user