You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by tb...@apache.org on 2015/09/14 14:53:35 UTC

svn commit: r1702936 - /pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java

Author: tboehme
Date: Mon Sep 14 12:53:35 2015
New Revision: 1702936

URL: http://svn.apache.org/r1702936
Log:
PDFBOX-2969: added test case

Modified:
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java?rev=1702936&r1=1702935&r2=1702936&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/io/TestRandomAccessBuffer.java Mon Sep 14 12:53:35 2015
@@ -297,4 +297,36 @@ public class TestRandomAccessBuffer exte
         buffer.seek(buffer.getPosition());
         buffer.close();
     }
+    
+    public void testPDFBOX2969() throws Exception
+    {
+        // create buffer with non-default chunk size
+        // by providing an array with unusual size
+        // (larger than RandomAccessBuffer.DEFAULT_CHUNK_SIZE)
+        int chunkSize = (CHUNK_SIZE << 4) + 3; 
+        byte[] byteArray = new byte[chunkSize];
+        
+        RandomAccessBuffer buffer = new RandomAccessBuffer(byteArray);
+
+        // fill completely
+        for (int i = 0; i < chunkSize; i++)
+        {
+            buffer.write(1);
+        }
+        
+        // create clone
+        RandomAccessBuffer bufferClone = buffer.clone(); 
+        
+        // read all from both
+        buffer.seek(0);
+        int bufRead = buffer.read(new byte[(int)buffer.length()]);
+        
+        bufferClone.seek(0);
+        int bufCloneRead = bufferClone.read(new byte[(int)bufferClone.length()]);
+        
+        assertEquals(bufRead, bufCloneRead);
+        
+        buffer.close();
+        bufferClone.close();
+    }
 }