You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2010/03/22 23:02:09 UTC

svn commit: r926372 - /httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java

Author: olegk
Date: Mon Mar 22 22:02:09 2010
New Revision: 926372

URL: http://svn.apache.org/viewvc?rev=926372&view=rev
Log:
Added test case for zero length content

Modified:
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java?rev=926372&r1=926371&r2=926372&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java Mon Mar 22 22:02:09 2010
@@ -510,4 +510,22 @@ public class TestLengthDelimitedDecoder 
         }
     }
     
+    public void testZeroLengthDecoding() throws Exception {
+        ReadableByteChannel channel = new ReadableByteChannelMockup(
+                new String[] {"stuff"}, "US-ASCII"); 
+        HttpParams params = new BasicHttpParams();
+        
+        SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 256, params); 
+        HttpTransportMetricsImpl metrics = new HttpTransportMetricsImpl();
+        LengthDelimitedDecoder decoder = new LengthDelimitedDecoder(
+                channel, inbuf, metrics, 0); 
+        
+        ByteBuffer dst = ByteBuffer.allocate(1024); 
+        
+        int bytesRead = decoder.read(dst);
+        assertEquals(0, bytesRead);
+        assertTrue(decoder.isCompleted());
+        assertEquals(0, metrics.getBytesTransferred());
+    }
+    
 }