Skip to content

Commit c553b0b

Browse files
committed
Add MarkShieldInputStream tests
1 parent 3f01818 commit c553b0b

1 file changed

Lines changed: 39 additions & 1 deletion

File tree

src/test/java/org/apache/commons/io/input/MarkShieldInputStreamTest.java

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,13 @@
2424
import java.io.IOException;
2525
import java.io.InputStream;
2626

27+
import org.apache.commons.io.IOUtils;
2728
import org.junit.jupiter.api.Test;
29+
import org.junit.jupiter.params.ParameterizedTest;
30+
import org.junit.jupiter.params.provider.MethodSource;
2831

2932
/**
30-
* Tests {@link MarkTestableInputStream}.
33+
* Tests {@link MarkShieldInputStream}.
3134
*/
3235
public class MarkShieldInputStreamTest {
3336

@@ -50,6 +53,41 @@ public void mark(final int readLimit) {
5053
}
5154
}
5255

56+
@SuppressWarnings("resource")
57+
@ParameterizedTest
58+
@MethodSource(AbstractInputStreamTest.ARRAY_LENGTHS_NAME)
59+
public void testAvailableAfterClose(final int len) throws Exception {
60+
final InputStream shadow;
61+
try (MarkTestableInputStream in = new MarkTestableInputStream(new NullInputStream(len, false, false));
62+
final MarkShieldInputStream msis = new MarkShieldInputStream(in)) {
63+
assertEquals(len, in.available());
64+
shadow = in;
65+
}
66+
assertEquals(0, shadow.available());
67+
}
68+
69+
@SuppressWarnings("resource")
70+
@ParameterizedTest
71+
@MethodSource(AbstractInputStreamTest.ARRAY_LENGTHS_NAME)
72+
public void testReadAfterClose(final int len) throws Exception {
73+
final InputStream shadow;
74+
try (MarkTestableInputStream in = new MarkTestableInputStream(new NullInputStream(len, false, false));
75+
final MarkShieldInputStream msis = new MarkShieldInputStream(in)) {
76+
assertEquals(len, in.available());
77+
shadow = in;
78+
}
79+
assertEquals(IOUtils.EOF, shadow.read());
80+
}
81+
82+
@ParameterizedTest
83+
@MethodSource(AbstractInputStreamTest.ARRAY_LENGTHS_NAME)
84+
public void testAvailableAfterOpen(final int len) throws Exception {
85+
try (MarkTestableInputStream in = new MarkTestableInputStream(new NullInputStream(len, false, false));
86+
final MarkShieldInputStream msis = new MarkShieldInputStream(in)) {
87+
assertEquals(len, in.available());
88+
}
89+
}
90+
5391
@Test
5492
public void testMarkIsNoOpWhenUnderlyingDoesNotSupport() throws IOException {
5593
try (MarkTestableInputStream in = new MarkTestableInputStream(new NullInputStream(64, false, false));

0 commit comments

Comments
 (0)