klute       2004/12/28 12:13:25

  Added:       src/testcases/org/apache/poi/poifs/filesystem
                        TestEmptyDocument.java
  Log:
  - Test case for empty documents added.
  
  Revision  Changes    Path
  1.1                  
jakarta-poi/src/testcases/org/apache/poi/poifs/filesystem/TestEmptyDocument.java
  
  Index: TestEmptyDocument.java
  ===================================================================
  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()));
    }
  }
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to