poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ser...@apache.org
Subject svn commit: r1142867 - in /poi/trunk: src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java test-data/document/innertable.doc
Date Tue, 05 Jul 2011 01:19:31 GMT
Author: sergey
Date: Tue Jul  5 01:19:31 2011
New Revision: 1142867

URL: http://svn.apache.org/viewvc?rev=1142867&view=rev
Log:
Test correct processing of "sprmPItap" (0x6649) and "sprmPFInTable" (0x2416)

Added:
    poi/trunk/test-data/document/innertable.doc   (with props)
Modified:
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java?rev=1142867&r1=1142866&r2=1142867&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/sprm/TestSprms.java Tue Jul  5
01:19:31 2011
@@ -27,35 +27,73 @@ import java.io.InputStream;
 import junit.framework.TestCase;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.hwpf.HWPFDocument;
+import org.apache.poi.hwpf.usermodel.Paragraph;
+import org.apache.poi.hwpf.usermodel.Range;
+
+public class TestSprms extends TestCase
+{
+    private static HWPFDocument reload( HWPFDocument hwpfDocument )
+            throws IOException
+    {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        hwpfDocument.write( baos );
+        return new HWPFDocument( new ByteArrayInputStream( baos.toByteArray() ) );
+    }
 
-public class TestSprms extends TestCase {
     /**
-     * Test correct processing of "sprmPJc" by uncompressor
+     * Test correct processing of "sprmPItap" (0x6649) and "sprmPFInTable"
+     * (0x2416)
      */
-    public void testSprmPJc() throws IOException {
+    public void testInnerTable() throws Exception
+    {
         InputStream resourceAsStream = POIDataSamples.getDocumentInstance()
-                .openResourceAsStream("Bug49820.doc");
-        HWPFDocument hwpfDocument = new HWPFDocument(resourceAsStream);
-        assertEquals(1, hwpfDocument.getStyleSheet().getParagraphStyle(8)
-                .getJustification());
+                .openResourceAsStream( "innertable.doc" );
+        HWPFDocument hwpfDocument = new HWPFDocument( resourceAsStream );
         resourceAsStream.close();
+
+        testInnerTable( hwpfDocument );
+        hwpfDocument = reload( hwpfDocument );
+        testInnerTable( hwpfDocument );
+    }
+
+    private void testInnerTable( HWPFDocument hwpfDocument )
+    {
+        Range range = hwpfDocument.getRange();
+        for ( int p = 0; p < range.numParagraphs(); p++ )
+        {
+            Paragraph paragraph = range.getParagraph( p );
+            char first = paragraph.text().toLowerCase().charAt( 0 );
+            if ( '1' <= first && first < '4' )
+            {
+                assertTrue( paragraph.isInTable() );
+                assertEquals( 2, paragraph.getTableLevel() );
+            }
+
+            if ( 'a' <= first && first < 'z' )
+            {
+                assertTrue( paragraph.isInTable() );
+                assertEquals( 1, paragraph.getTableLevel() );
+            }
+        }
     }
 
     /**
-     * Test correct processing of "sprmPJc" by compressor and uncompressor
+     * Test correct processing of "sprmPJc" by uncompressor
      */
-    public void testSprmPJcResave() throws IOException {
+    public void testSprmPJc() throws IOException
+    {
         InputStream resourceAsStream = POIDataSamples.getDocumentInstance()
-                .openResourceAsStream("Bug49820.doc");
-        HWPFDocument hwpfDocument = new HWPFDocument(resourceAsStream);
+                .openResourceAsStream( "Bug49820.doc" );
+        HWPFDocument hwpfDocument = new HWPFDocument( resourceAsStream );
         resourceAsStream.close();
 
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        hwpfDocument.write(baos);
-        hwpfDocument = new HWPFDocument(
-                new ByteArrayInputStream(baos.toByteArray()));
+        assertEquals( 1, hwpfDocument.getStyleSheet().getParagraphStyle( 8 )
+                .getJustification() );
+
+        hwpfDocument = reload( hwpfDocument );
+
+        assertEquals( 1, hwpfDocument.getStyleSheet().getParagraphStyle( 8 )
+                .getJustification() );
 
-        assertEquals(1, hwpfDocument.getStyleSheet().getParagraphStyle(8)
-                .getJustification());
     }
 }

Added: poi/trunk/test-data/document/innertable.doc
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/document/innertable.doc?rev=1142867&view=auto
==============================================================================
Binary file - no diff available.

Propchange: poi/trunk/test-data/document/innertable.doc
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



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


Mime
View raw message