You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by kl...@apache.org on 2003/09/01 07:50:48 UTC
cvs commit: jakarta-poi/src/testcases/org/apache/poi/hpsf/basic TestWrite.java
klute 2003/08/31 22:50:48
Modified: src/testcases/org/apache/poi/hpsf/basic TestWrite.java
Log:
Test case added.
Revision Changes Path
1.2 +75 -1 jakarta-poi/src/testcases/org/apache/poi/hpsf/basic/TestWrite.java
Index: TestWrite.java
===================================================================
RCS file: /home/cvs/jakarta-poi/src/testcases/org/apache/poi/hpsf/basic/TestWrite.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestWrite.java 30 Aug 2003 09:11:59 -0000 1.1
+++ TestWrite.java 1 Sep 2003 05:50:48 -0000 1.2
@@ -68,6 +68,7 @@
import java.util.Date;
import java.util.Iterator;
+import junit.framework.Assert;
import junit.framework.TestCase;
import org.apache.poi.hpsf.HPSFRuntimeException;
@@ -82,6 +83,7 @@
import org.apache.poi.hpsf.UnsupportedVariantTypeException;
import org.apache.poi.hpsf.Variant;
import org.apache.poi.hpsf.VariantSupport;
+import org.apache.poi.hpsf.wellknown.PropertyIDMap;
import org.apache.poi.hpsf.wellknown.SectionIDMap;
import org.apache.poi.poifs.eventfilesystem.POIFSReader;
import org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent;
@@ -173,6 +175,78 @@
r.registerListener(new MyPOIFSReaderListener(),
SummaryInformation.DEFAULT_STREAM_NAME);
r.read(new FileInputStream(filename));
+ }
+
+
+
+ /**
+ * <p>Writes a simple property set with a SummaryInformation and a
+ * DocumentSummaryInformation stream to a POIFS and reads it back in.</p>
+ *
+ * @exception IOException if an I/O exception occurs
+ * @exception UnsupportedVariantTypeException if HPSF does not yet support
+ * a variant type to be written
+ */
+ public void testWriteSimplePropertySet()
+ throws IOException, UnsupportedVariantTypeException
+ {
+ final String AUTHOR = "Rainer Klute";
+ final String TITLE = "Test Document";
+ final File dataDir =
+ new File(System.getProperty("HPSF.testdata.path"));
+ final File filename = new File(dataDir, POI_FS);
+ filename.deleteOnExit();
+ final OutputStream out = new FileOutputStream(filename);
+ final POIFSFileSystem poiFs = new POIFSFileSystem();
+
+ final MutablePropertySet ps = new MutablePropertySet();
+ final MutableSection si = new MutableSection();
+ si.setFormatID(SectionIDMap.SUMMARY_INFORMATION_ID);
+ ps.getSections().set(0, si);
+
+ final MutableProperty p = new MutableProperty();
+ p.setID(PropertyIDMap.PID_AUTHOR);
+ p.setType(Variant.VT_LPWSTR);
+ p.setValue(AUTHOR);
+ si.setProperty(p);
+ si.setProperty(PropertyIDMap.PID_TITLE, Variant.VT_LPSTR, TITLE);
+
+ final ByteArrayOutputStream psStream = new ByteArrayOutputStream();
+ ps.write(psStream);
+ psStream.close();
+ final byte[] streamData = psStream.toByteArray();
+ poiFs.createDocument(new ByteArrayInputStream(streamData),
+ SummaryInformation.DEFAULT_STREAM_NAME);
+ poiFs.writeFilesystem(out);
+ out.close();
+
+ /* Read the POIFS: */
+ final PropertySet[] psa = new PropertySet[1];
+ final POIFSReader r = new POIFSReader();
+ r.registerListener(new POIFSReaderListener()
+ {
+ public void processPOIFSReaderEvent(final POIFSReaderEvent event)
+ {
+ try
+ {
+ psa[0] = PropertySetFactory.create(event.getStream());
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ throw new RuntimeException(ex);
+ }
+ }
+
+ },
+ SummaryInformation.DEFAULT_STREAM_NAME);
+ r.read(new FileInputStream(filename));
+ Assert.assertNotNull(psa[0]);
+ final Section s = (Section) (psa[0].getSections().get(0));
+ Object p1 = s.getProperty(PropertyIDMap.PID_AUTHOR);
+ Object p2 = s.getProperty(PropertyIDMap.PID_TITLE);
+ Assert.assertEquals(AUTHOR, p1);
+ Assert.assertEquals(TITLE, p2);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: poi-dev-help@jakarta.apache.org