- Test case for empty documents added.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353611 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8f544c6d28
commit
a03b710c80
@ -0,0 +1,130 @@
|
|||||||
|
package org.apache.poi.poifs.filesystem;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
|
import org.apache.poi.poifs.filesystem.POIFSWriterEvent;
|
||||||
|
import org.apache.poi.poifs.filesystem.POIFSWriterListener;
|
||||||
|
import org.apache.poi.poifs.filesystem.DirectoryEntry;
|
||||||
|
|
||||||
|
public class TestEmptyDocument extends TestCase {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
TestEmptyDocument driver = new TestEmptyDocument();
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("As only file...");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.print("Trying using createDocument(String,InputStream): ");
|
||||||
|
try {
|
||||||
|
driver.testSingleEmptyDocument();
|
||||||
|
System.out.println("Worked!");
|
||||||
|
} catch (IOException exception) {
|
||||||
|
System.out.println("failed! ");
|
||||||
|
System.out.println(exception.toString());
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.print
|
||||||
|
("Trying using createDocument(String,int,POIFSWriterListener): ");
|
||||||
|
try {
|
||||||
|
driver.testSingleEmptyDocumentEvent();
|
||||||
|
System.out.println("Worked!");
|
||||||
|
} catch (IOException exception) {
|
||||||
|
System.out.println("failed!");
|
||||||
|
System.out.println(exception.toString());
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
System.out.println("After another file...");
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.print("Trying using createDocument(String,InputStream): ");
|
||||||
|
try {
|
||||||
|
driver.testEmptyDocumentWithFriend();
|
||||||
|
System.out.println("Worked!");
|
||||||
|
} catch (IOException exception) {
|
||||||
|
System.out.println("failed! ");
|
||||||
|
System.out.println(exception.toString());
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
|
||||||
|
System.out.print
|
||||||
|
("Trying using createDocument(String,int,POIFSWriterListener): ");
|
||||||
|
try {
|
||||||
|
driver.testEmptyDocumentWithFriend();
|
||||||
|
System.out.println("Worked!");
|
||||||
|
} catch (IOException exception) {
|
||||||
|
System.out.println("failed!");
|
||||||
|
System.out.println(exception.toString());
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testSingleEmptyDocument() throws IOException {
|
||||||
|
POIFSFileSystem fs = new POIFSFileSystem();
|
||||||
|
DirectoryEntry dir = fs.getRoot();
|
||||||
|
dir = fs.getRoot();
|
||||||
|
dir.createDocument("Foo", new ByteArrayInputStream(new byte[] { }));
|
||||||
|
|
||||||
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
|
fs.writeFilesystem(out);
|
||||||
|
new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testSingleEmptyDocumentEvent() throws IOException {
|
||||||
|
POIFSFileSystem fs = new POIFSFileSystem();
|
||||||
|
DirectoryEntry dir = fs.getRoot();
|
||||||
|
dir = fs.getRoot();
|
||||||
|
dir.createDocument("Foo", 0, new POIFSWriterListener() {
|
||||||
|
public void processPOIFSWriterEvent(POIFSWriterEvent event) {
|
||||||
|
System.out.println("written");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
|
fs.writeFilesystem(out);
|
||||||
|
new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEmptyDocumentWithFriend() throws IOException {
|
||||||
|
POIFSFileSystem fs = new POIFSFileSystem();
|
||||||
|
DirectoryEntry dir = fs.getRoot();
|
||||||
|
dir = fs.getRoot();
|
||||||
|
dir.createDocument("Bar", new ByteArrayInputStream(new byte[] { 0 }));
|
||||||
|
dir.createDocument("Foo", new ByteArrayInputStream(new byte[] { }));
|
||||||
|
|
||||||
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
|
fs.writeFilesystem(out);
|
||||||
|
new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEmptyDocumentEventWithFriend() throws IOException {
|
||||||
|
POIFSFileSystem fs = new POIFSFileSystem();
|
||||||
|
DirectoryEntry dir = fs.getRoot();
|
||||||
|
dir = fs.getRoot();
|
||||||
|
dir.createDocument("Bar", 1, new POIFSWriterListener() {
|
||||||
|
public void processPOIFSWriterEvent(POIFSWriterEvent event) {
|
||||||
|
try {
|
||||||
|
event.getStream().write(0);
|
||||||
|
} catch (IOException exception) {
|
||||||
|
throw new RuntimeException("exception on write: " + exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
dir.createDocument("Foo", 0, new POIFSWriterListener() {
|
||||||
|
public void processPOIFSWriterEvent(POIFSWriterEvent event) {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||||
|
fs.writeFilesystem(out);
|
||||||
|
new POIFSFileSystem(new ByteArrayInputStream(out.toByteArray()));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user