[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    svn commit: r760394 -
From:       sebb () apache ! org
Date:       2009-03-31 10:55:55
Message-ID: 20090331105559.1AE18238889F () eris ! apache ! org
[Download RAW message or body]

Author: sebb
Date: Tue Mar 31 10:55:48 2009
New Revision: 760394

URL: http://svn.apache.org/viewvc?rev=760394&view=rev
Log:
Allow for unknown size
Fix bug - use actual size read rather than buffer size when comparing data

Modified:
    commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/IOMethodsTest.java


Modified: commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/IOMethodsTest.java
                
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/IOMethodsTest.java?rev=760394&r1=760393&r2=760394&view=diff
 ==============================================================================
--- commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/IOMethodsTest.java \
                (original)
+++ commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/IOMethodsTest.java \
Tue Mar 31 10:55:48 2009 @@ -123,9 +123,12 @@
         ArchiveInputStream ais1 = factory.createArchiveInputStream(archiverName, \
is1);  final ArchiveEntry nextEntry = ais1.getNextEntry();
         assertNotNull(nextEntry);
-        final long size = nextEntry.getSize();
-        assertTrue("Size > 0: "+size, size > 0);
-        byte [] buff = new byte[(int)size];
+        
+        byte [] buff = new byte[10]; // small so multiple reads are needed;
+        long size = nextEntry.getSize();
+        if (size != ArchiveEntry.SIZE_UNKNOWN) {
+            assertTrue("Size should be > 0, found: "+size, size > 0);
+        }
         
         InputStream is2 = new FileInputStream(file);
         ArchiveInputStream ais2 = factory.createArchiveInputStream(archiverName, \
is2); @@ -145,13 +148,14 @@
         }
         ais1.close();
 
-        while(ais2.read(buff)>0){
-            out2.write(buff);
+        int bytes;
+        while((bytes = ais2.read(buff)) > 0){
+            out2.write(buff, 0, bytes);
         }
         ais2.close();
         
-        while(ais3.read(buff, 0 , buff.length)>0){
-            out3.write(buff);
+        while((bytes=ais3.read(buff, 0 , buff.length)) > 0){
+            out3.write(buff, 0, bytes);
         }
         ais3.close();
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic