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)) {