You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2016/06/02 22:59:48 UTC

svn commit: r1746653 - in /poi/trunk/src/ooxml: java/org/apache/poi/POIXMLDocument.java testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java

Author: nick
Date: Thu Jun  2 22:59:47 2016
New Revision: 1746653

URL: http://svn.apache.org/viewvc?rev=1746653&view=rev
Log:
Add disabled test for XWPF writing to a new stream when opened read-only

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/POIXMLDocument.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/POIXMLDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/POIXMLDocument.java?rev=1746653&r1=1746652&r2=1746653&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/POIXMLDocument.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/POIXMLDocument.java Thu Jun  2 22:59:47 2016
@@ -174,6 +174,7 @@ public abstract class POIXMLDocument ext
      */
     public final void write(OutputStream stream) throws IOException {
         //force all children to commit their changes into the underlying OOXML Package
+        // TODO Shouldn't they be committing to the new one instead?
         Set<PackagePart> context = new HashSet<PackagePart>();
         onSave(context);
         context.clear();

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java?rev=1746653&r1=1746652&r2=1746653&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFDocument.java Thu Jun  2 22:59:47 2016
@@ -19,22 +19,27 @@ package org.apache.poi.xwpf.usermodel;
 
 import static org.junit.Assert.*;
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.poi.POIDataSamples;
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.POIXMLProperties;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.apache.poi.openxml4j.opc.PackageAccess;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackagePartName;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
 import org.apache.poi.openxml4j.opc.PackagingURIHelper;
 import org.apache.poi.openxml4j.opc.TargetMode;
 import org.apache.poi.xwpf.XWPFTestDataSamples;
+import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
 import org.apache.xmlbeans.XmlCursor;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
 
@@ -423,4 +428,21 @@ public final class TestXWPFDocument {
 		assertTrue(docx.isEnforcedProtection());
 		docx.close();
 	}
+	
+	@Test
+	@Ignore("XWPF should be able to write to a new Stream when opened Read-Only")
+	public void testWriteFromReadOnlyOPC() throws Exception {
+	    OPCPackage opc = OPCPackage.open(
+	            POIDataSamples.getDocumentInstance().getFile("SampleDoc.docx"),
+	            PackageAccess.READ
+	    );
+	    XWPFDocument doc = new XWPFDocument(opc);
+	    XWPFWordExtractor ext = new XWPFWordExtractor(doc);
+	    String origText = ext.getText();
+	    
+	    doc = XWPFTestDataSamples.writeOutAndReadBack(doc);
+	    ext = new XWPFWordExtractor(doc);
+	    
+	    assertEquals(origText, ext.getText());
+	}
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org