<!-- Don't forget to update status.xml too! -->
<release version="3.5-beta4" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="fix">46043 - correctly write out HPSF properties with HWPF</action>
<action dev="POI-DEVELOPERS" type="add">45973 - added CreationHelper.createFormulaEvaluator(), implemeted both for HSSF and XSSF</action>
<action dev="POI-DEVELOPERS" type="fix">46182 - fixed Slideshow.readPictures() to skip pictures with invalid headers</action>
<action dev="POI-DEVELOPERS" type="fix">46137 - Handle odd files with a ContinueRecord after EOFRecord</action>
<!-- Don't forget to update changes.xml too! -->
<changes>
<release version="3.5-beta4" date="2008-??-??">
+ <action dev="POI-DEVELOPERS" type="fix">46043 - correctly write out HPSF properties with HWPF</action>
<action dev="POI-DEVELOPERS" type="add">45973 - added CreationHelper.createFormulaEvaluator(), implemeted both for HSSF and XSSF</action>
<action dev="POI-DEVELOPERS" type="fix">46182 - fixed Slideshow.readPictures() to skip pictures with invalid headers</action>
- <action dev="POI-DEVELOPERS" type="fix">46137 - Handle odd files with a ContinueRecord after EOFRecord</action>
+ <action dev="POI-DEVELOPERS" type="fix">46137 - Handle odd files with a ContinueRecord after EOFRecord</action>
<action dev="POI-DEVELOPERS" type="fix">Fixed problem with linking shared formulas when ranges overlap</action>
<action dev="POI-DEVELOPERS" type="fix">45784 - More fixes to SeriesTextRecord</action>
<action dev="POI-DEVELOPERS" type="fix">46033 - fixed TableCell to correctly set text type</action>
pfs.createDocument(new ByteArrayInputStream(mainBuf), "WordDocument");
pfs.createDocument(new ByteArrayInputStream(tableBuf), "1Table");
pfs.createDocument(new ByteArrayInputStream(dataBuf), "Data");
-
+ writeProperties(pfs);
+
pfs.writeFilesystem(out);
}
package org.apache.poi.hwpf;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
import junit.framework.TestCase;
{
}
- protected void setUp()
- throws Exception
- {
+ protected void setUp() throws Exception {
super.setUp();
/**@todo verify the constructors*/
_hWPFDocFixture = new HWPFDocFixture(this);
_hWPFDocFixture.setUp();
}
- protected void tearDown()
- throws Exception
- {
- _hWPFDocFixture.tearDown();
+ protected void tearDown() throws Exception {
+ if(_hWPFDocFixture != null) {
+ _hWPFDocFixture.tearDown();
+ }
- _hWPFDocFixture = null;
- super.tearDown();
+ _hWPFDocFixture = null;
+ super.tearDown();
}
+ public HWPFDocument writeOutAndRead(HWPFDocument doc) throws IOException {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ doc.write(baos);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ HWPFDocument newDoc = new HWPFDocument(bais);
+ return newDoc;
+ }
}
import java.io.File;
import java.io.FileInputStream;
-import junit.framework.TestCase;
-
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.HWPFTestCase;
import org.apache.poi.hwpf.model.StyleSheet;
/**
*
* @author Nick Burch (nick at torchbox dot com)
*/
-public class TestProblems extends TestCase {
+public class TestProblems extends HWPFTestCase {
private String dirname = System.getProperty("HWPF.testdata.path");
- protected void setUp() throws Exception {
- }
-
/**
* ListEntry passed no ListTable
*/
// Good
}
}
+
+ public void testWriteProperties() throws Exception {
+ HWPFDocument doc = new HWPFDocument(new FileInputStream(
+ new File(dirname, "SampleDoc.doc")));
+ assertEquals("Nick Burch", doc.getSummaryInformation().getAuthor());
+
+ // Write and read
+ HWPFDocument doc2 = writeOutAndRead(doc);
+ assertEquals("Nick Burch", doc.getSummaryInformation().getAuthor());
+ }
}