]> source.dussan.org Git - poi.git/commitdiff
Re-enable the XWPF test for adding paragraphs, and fix it up to work properly
authorNick Burch <nick@apache.org>
Fri, 6 May 2011 01:43:16 +0000 (01:43 +0000)
committerNick Burch <nick@apache.org>
Fri, 6 May 2011 01:43:16 +0000 (01:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1100022 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xwpf/package.html [new file with mode: 0644]
src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFDocument.java

diff --git a/src/ooxml/java/org/apache/poi/xwpf/package.html b/src/ooxml/java/org/apache/poi/xwpf/package.html
new file mode 100644 (file)
index 0000000..8c6c70d
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!--
+   ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+   ====================================================================
+-->
+<html>
+<body>
+    <p>This package contains classes for handling Microsoft .docx
+       Word Processing files, known in POI as XWPF (XML Word Processing
+       Format).
+    </p>
+</body>
+</html>
index f0f314cf989c182a0f5abb4130c8fc7a7ab75bc6..88c0675f1935f164ede44781b4df2bcce8571055 100644 (file)
@@ -649,7 +649,9 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody {
      * @return a new paragraph
      */
     public XWPFParagraph createParagraph(){
-        return new XWPFParagraph(ctDocument.getBody().addNewP(), this);
+        XWPFParagraph p = new XWPFParagraph(ctDocument.getBody().addNewP(), this);
+        paragraphs.add(p);
+        return p;
     }
     
     /**
index 27aa41d9cdac6cc80c3b49ea42e4d26a1d464be6..d93157690296021a140bc9ce7e83af1124382b38 100644 (file)
@@ -24,7 +24,10 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.poi.xwpf.usermodel.XWPFParagraph;
 import org.apache.poi.xwpf.usermodel.XWPFRelation;
+import org.apache.xmlbeans.XmlCursor;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
 
 public final class TestXWPFDocument extends TestCase {
 
@@ -95,20 +98,22 @@ public final class TestXWPFDocument extends TestCase {
                assertEquals("Apache POI", props.getExtendedProperties().getUnderlyingProperties().getApplication());
        }
        
-//     public void testAddParagraph(){
-//             XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");
-//             int pLength = doc.getParagraphs().length;
-//             XWPFParagraph p = doc.insertNewParagraph(3);
-//             assertTrue(p == doc.getParagraphs()[3]);
-//             assertTrue(++pLength == doc.getParagraphs().length);
-//             CTP ctp = p.getCTP();
-//             XWPFParagraph newP = doc.getParagraph(ctp);
-//             assertSame(p, newP);
-//             XmlCursor cursor = doc.getDocument().getBody().getPArray(0).newCursor();
-//             XWPFParagraph cP = doc.insertNewParagraph(cursor);
-//             assertSame(cP, doc.getParagraphs()[0]);
-//             assertTrue(++pLength == doc.getParagraphs().length);    
-//     }
+       public void testAddParagraph(){
+          XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");
+          assertEquals(3, doc.getParagraphs().size());
+
+          XWPFParagraph p = doc.createParagraph();
+          assertEquals(p, doc.getParagraphs().get(3));
+          assertEquals(4, doc.getParagraphs().size());
+
+          CTP ctp = p.getCTP();
+          XWPFParagraph newP = doc.getParagraph(ctp);
+          assertSame(p, newP);
+          XmlCursor cursor = doc.getDocument().getBody().getPArray(0).newCursor();
+          XWPFParagraph cP = doc.insertNewParagraph(cursor);
+          assertSame(cP, doc.getParagraphs().get(0));
+          assertEquals(5, doc.getParagraphs().size());
+       }
        
        public void testAddPicture(){
                XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx");