This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 011270eb Add [IO-795] CharSequenceInputStream.reset() only works once
011270eb is described below

commit 011270eb378d2dff7151b19aa8d6fcdded5e005f
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat May 20 08:37:37 2023 -0400

    Add [IO-795] CharSequenceInputStream.reset() only works once
---
 .../io/input/CharSequenceInputStreamTest.java      | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git 
a/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java 
b/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
index c488b25a..06620357 100644
--- a/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/CharSequenceInputStreamTest.java
@@ -396,6 +396,33 @@ public class CharSequenceInputStreamTest {
         }
     }
 
+    private void testResetBeforeEnd(final CharSequenceInputStream inputStream) 
throws IOException {
+        inputStream.mark(1);
+        assertEquals('1', inputStream.read());
+        inputStream.reset();
+        assertEquals('1', inputStream.read());
+        assertEquals('2', inputStream.read());
+        inputStream.reset();
+        assertEquals('1', inputStream.read());
+        assertEquals('2', inputStream.read());
+        assertEquals('3', inputStream.read());
+        inputStream.reset();
+        assertEquals('1', inputStream.read());
+        assertEquals('2', inputStream.read());
+        assertEquals('3', inputStream.read());
+        assertEquals('4', inputStream.read());
+        inputStream.reset();
+        assertEquals('1', inputStream.read());
+    }
+
+    @Test
+    @Disabled("[IO-795] CharSequenceInputStream.reset() only works once")
+    public void testResetBeforeEndSetCharSequence() throws IOException {
+        try (final CharSequenceInputStream inputStream = 
CharSequenceInputStream.builder().setCharSequence("1234").get()) {
+            testResetBeforeEnd(inputStream);
+        }
+    }
+
     private void testSingleByteRead(final String testString, final String 
charsetName) throws IOException {
         final byte[] bytes = testString.getBytes(charsetName);
         try (InputStream in = new CharSequenceInputStream(testString, 
charsetName, 512)) {

Reply via email to