You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/03/13 18:03:32 UTC
svn commit: r1300238 - in /commons/proper/io/trunk/src:
main/java/org/apache/commons/io/input/CharSequenceInputStream.java
test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
Author: sebb
Date: Tue Mar 13 17:03:32 2012
New Revision: 1300238
URL: http://svn.apache.org/viewvc?rev=1300238&view=rev
Log:
Fix occasional test failure - should always return 0 for read length == 0
Modified:
commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/CharSequenceInputStream.java
commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
Modified: commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/CharSequenceInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/CharSequenceInputStream.java?rev=1300238&r1=1300237&r2=1300238&view=diff
==============================================================================
--- commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/CharSequenceInputStream.java (original)
+++ commons/proper/io/trunk/src/main/java/org/apache/commons/io/input/CharSequenceInputStream.java Tue Mar 13 17:03:32 2012
@@ -117,7 +117,10 @@ public class CharSequenceInputStream ext
if (len < 0 || (off + len) > b.length) {
throw new IndexOutOfBoundsException("Array Size=" + b.length +
", offset=" + off + ", length=" + len);
- }
+ }
+ if (len == 0) {
+ return 0; // must return 0 for zero length read
+ }
if (!this.bbuf.hasRemaining() && !this.cbuf.hasRemaining()) {
return -1;
}
Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java?rev=1300238&r1=1300237&r2=1300238&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java (original)
+++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java Tue Mar 13 17:03:32 2012
@@ -109,6 +109,13 @@ public class CharSequenceInputStreamTest
byte[] bytes = new byte[30];
assertEquals(0, r.read(bytes, 0, 0));
}
+
+ @Test
+ public void testReadZeroEmptyString() throws Exception {
+ InputStream r = new CharSequenceInputStream("", "UTF-8");
+ byte[] bytes = new byte[30];
+ assertEquals(0, r.read(bytes, 0, 0));
+ }
@Test
public void testCharsetMismatchInfiniteLoop() throws IOException {