From 826fb260a3515c86eba9e65e54695c78a085425c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 24 Jun 2011 12:35:19 -0700 Subject: TemporaryBuffer: Fix reading from in-memory InputStream I had the conditions wrong here, causing the in-memory InputStream to always appear to be at EOF. Change-Id: I6811d6187a34eaf1fd6c5002550d631decdfc391 Signed-off-by: Shawn O. Pearce --- .../tst/org/eclipse/jgit/util/TemporaryBufferTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'org.eclipse.jgit.test') diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java index cc4cad5ee1..eb4fb1e87d 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/util/TemporaryBufferTest.java @@ -52,6 +52,7 @@ import static org.junit.Assert.fail; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.InputStream; import java.util.Arrays; import org.eclipse.jgit.junit.TestRng; @@ -248,6 +249,20 @@ public class TemporaryBufferTest { } } + @Test + public void testInCoreInputStream() throws IOException { + final int cnt = 256; + final byte[] test = new TestRng(getName()).nextBytes(cnt); + final TemporaryBuffer.Heap b = new TemporaryBuffer.Heap(cnt + 4); + b.write(test); + b.close(); + + InputStream in = b.openInputStream(); + byte[] act = new byte[cnt]; + IO.readFully(in, act, 0, cnt); + assertTrue(Arrays.equals(test, act)); + } + @Test public void testInCoreLimit_SwitchOnAppendByte() throws IOException { final TemporaryBuffer b = new TemporaryBuffer.LocalFile(); -- cgit v1.2.3