]> source.dussan.org Git - poi.git/commitdiff
update assertion in PAPBinTable
authorSergey Vladimirov <sergey@apache.org>
Mon, 25 Jul 2011 11:02:03 +0000 (11:02 +0000)
committerSergey Vladimirov <sergey@apache.org>
Mon, 25 Jul 2011 11:02:03 +0000 (11:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1150628 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/hwpf/model/PAPBinTable.java
src/scratchpad/testcases/org/apache/poi/hwpf/model/TestPAPBinTable.java

index ea7d52a0be445149175acdd25bcee471b3ceb867..07ccad1c9abedd3ae4d3ae1b7af466a8907b47f6 100644 (file)
@@ -249,7 +249,9 @@ public class PAPBinTable
             {
                 PAPX papx = oldPapxSortedByEndPos.get( papxIndex );
 
-                assert papx.getEnd() > startInclusive;
+                assert papxIndex + 1 == oldPapxSortedByEndPos.size()
+                        || papx.getEnd() > startInclusive;
+
                 if ( papx.getEnd() - 1 > charIndex )
                 {
                     lastPapxIndex = papxIndex;
index e34d563acbea4c6a0116491ac75aad34a3d43245..95ed6f7ade3b3b7c4f108e949af2bf95875a8bb2 100644 (file)
 package org.apache.poi.hwpf.model;
 
 import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
+import java.util.List;
 
 import junit.framework.TestCase;
 
 import org.apache.poi.hwpf.HWPFDocFixture;
+import org.apache.poi.hwpf.HWPFTestDataSamples;
 import org.apache.poi.hwpf.model.io.HWPFFileSystem;
 
-public final class TestPAPBinTable
-  extends TestCase
+public final class TestPAPBinTable extends TestCase
 {
-  private PAPBinTable _pAPBinTable = null;
-  private HWPFDocFixture _hWPFDocFixture;
 
-  private TextPieceTable fakeTPT = new TextPieceTable();
-
-  public void testReadWrite()
-    throws Exception
-  {
-    FileInformationBlock fib = _hWPFDocFixture._fib;
-    byte[] mainStream = _hWPFDocFixture._mainStream;
-    byte[] tableStream = _hWPFDocFixture._tableStream;
-
-    _pAPBinTable = new PAPBinTable(mainStream, tableStream, null, fib.getFcPlcfbtePapx(), fib.getLcbPlcfbtePapx(), null, fakeTPT, false);
-
-    HWPFFileSystem fileSys = new HWPFFileSystem();
-
-    _pAPBinTable.writeTo(fileSys, 0);
-    ByteArrayOutputStream tableOut = fileSys.getStream("1Table");
-    ByteArrayOutputStream mainOut =  fileSys.getStream("WordDocument");
-
-    byte[] newTableStream = tableOut.toByteArray();
-    byte[] newMainStream = mainOut.toByteArray();
-
-    PAPBinTable newBinTable = new PAPBinTable(newMainStream, newTableStream, null,0, newTableStream.length, null, fakeTPT, false);
+    public void testObIs()
+    {
+        // shall not fail with assertions on
+        HWPFTestDataSamples.openSampleFile( "ob_is.doc" );
+    }
 
-    ArrayList oldTextRuns = _pAPBinTable.getParagraphs();
-    ArrayList newTextRuns = newBinTable.getParagraphs();
+    public void testReadWrite() throws Exception
+    {
+        /** @todo verify the constructors */
+        HWPFDocFixture _hWPFDocFixture = new HWPFDocFixture( this,
+                HWPFDocFixture.DEFAULT_TEST_FILE );
 
-    assertEquals(oldTextRuns.size(), newTextRuns.size());
+        _hWPFDocFixture.setUp();
+        TextPieceTable fakeTPT = new TextPieceTable();
 
-    int size = oldTextRuns.size();
-    for (int x = 0; x < size; x++)
-    {
-     PropertyNode oldNode = (PropertyNode)oldTextRuns.get(x);
-     PropertyNode newNode = (PropertyNode)newTextRuns.get(x);
+        FileInformationBlock fib = _hWPFDocFixture._fib;
+        byte[] mainStream = _hWPFDocFixture._mainStream;
+        byte[] tableStream = _hWPFDocFixture._tableStream;
 
-     assertTrue(oldNode.equals(newNode));
-    }
+        PAPBinTable _pAPBinTable = new PAPBinTable( mainStream, tableStream,
+                null, fib.getFcPlcfbtePapx(), fib.getLcbPlcfbtePapx(), null,
+                fakeTPT, false );
 
+        HWPFFileSystem fileSys = new HWPFFileSystem();
 
+        _pAPBinTable.writeTo( fileSys, 0 );
+        ByteArrayOutputStream tableOut = fileSys.getStream( "1Table" );
+        ByteArrayOutputStream mainOut = fileSys.getStream( "WordDocument" );
 
+        byte[] newTableStream = tableOut.toByteArray();
+        byte[] newMainStream = mainOut.toByteArray();
 
-  }
+        PAPBinTable newBinTable = new PAPBinTable( newMainStream,
+                newTableStream, null, 0, newTableStream.length, null, fakeTPT,
+                false );
 
-  protected void setUp()
-    throws Exception
-  {
-    super.setUp();
-    /**@todo verify the constructors*/
-    _hWPFDocFixture = new HWPFDocFixture(this, HWPFDocFixture.DEFAULT_TEST_FILE);
+        List<PAPX> oldTextRuns = _pAPBinTable.getParagraphs();
+        List<PAPX> newTextRuns = newBinTable.getParagraphs();
 
-    _hWPFDocFixture.setUp();
-  }
+        assertEquals( oldTextRuns.size(), newTextRuns.size() );
 
-  protected void tearDown()
-    throws Exception
-  {
-    _hWPFDocFixture.tearDown();
+        int size = oldTextRuns.size();
+        for ( int x = 0; x < size; x++ )
+        {
+            PAPX oldNode = oldTextRuns.get( x );
+            PAPX newNode = newTextRuns.get( x );
 
-    _hWPFDocFixture = null;
-    super.tearDown();
-  }
+            assertTrue( oldNode.equals( newNode ) );
+        }
 
+        _hWPFDocFixture.tearDown();
+    }
 }