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 41c73e3 Add tests.
41c73e3 is described below
commit 41c73e390abb85f0c8bc4f3097056ddda246540b
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Apr 10 09:45:56 2019 -0400
Add tests.
---
.../apache/commons/io/input/BoundedReaderTest.java | 65 +++++++++++++++++++---
1 file changed, 58 insertions(+), 7 deletions(-)
diff --git a/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
b/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
index 9a5b244..f40cbad 100644
--- a/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
+++ b/src/test/java/org/apache/commons/io/input/BoundedReaderTest.java
@@ -22,18 +22,28 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
import java.io.IOException;
+import java.io.LineNumberReader;
import java.io.Reader;
import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.commons.io.FileUtils;
import org.junit.Test;
-public class BoundedReaderTest
-{
- private final Reader sr = new BufferedReader( new StringReader(
"01234567890" ) );
+public class BoundedReaderTest {
+ private static final String STRING_END_NO_EOL = "0\n1\n2";
- private final Reader shortReader = new BufferedReader( new StringReader(
"01" ) );
+ private static final String STRING_END_EOL = "0\n1\n2\n";
+
+ private final Reader sr = new BufferedReader(new
StringReader("01234567890"));
+
+ private final Reader shortReader = new BufferedReader(new
StringReader("01"));
@Test
public void readTillEnd() throws IOException {
@@ -101,7 +111,6 @@ public class BoundedReaderTest
}
}
-
@Test
public void markResetWithMarkOutsideBoundedReaderMax() throws IOException {
try (final BoundedReader mr = new BoundedReader(sr, 3)) {
@@ -181,12 +190,54 @@ public class BoundedReaderTest
assertTrue(closed.get());
}
+ private void testLineNumberReader(final Reader source) throws IOException {
+ try (LineNumberReader reader = new LineNumberReader(new
BoundedReader(source, 10_000_000))) {
+ while (reader.readLine() != null) {
+ // noop
+ }
+ }
+ }
+
+ @Test(timeout = 5000)
+ public void testLineNumberReaderAndStringReaderLastLineEolNo() throws
IOException {
+ testLineNumberReader(new StringReader(STRING_END_NO_EOL));
+ }
+
+ @Test(timeout = 5000)
+ public void testLineNumberReaderAndStringReaderLastLineEolYes() throws
IOException {
+ testLineNumberReader(new StringReader(STRING_END_EOL));
+ }
+
+ @Test(timeout = 5000)
+ public void testLineNumberReaderAndFileReaderLastLineEolNo() throws
IOException {
+ testLineNumberReaderAndFileReaderLastLine(STRING_END_NO_EOL);
+ }
+
+ @Test(timeout = 5000)
+ public void testLineNumberReaderAndFileReaderLastLineEolYes() throws
IOException {
+ testLineNumberReaderAndFileReaderLastLine(STRING_END_EOL);
+ }
+
+ public void testLineNumberReaderAndFileReaderLastLine(final String data)
throws IOException {
+ final Path path = Files.createTempFile(getClass().getSimpleName(),
".txt");
+ try {
+ final File file = path.toFile();
+ FileUtils.write(file, data, StandardCharsets.ISO_8859_1);
+ try (FileReader source = new FileReader(file)) {
+ testLineNumberReader(source);
+ }
+ } finally {
+ Files.delete(path);
+ }
+ }
+
@Test(timeout = 5000)
public void testReadBytesEOF() throws IOException {
- final BoundedReader mr = new BoundedReader( sr, 3 );
- try ( BufferedReader br = new BufferedReader( mr ) ) {
+ final BoundedReader mr = new BoundedReader(sr, 3);
+ try (BufferedReader br = new BufferedReader(mr)) {
br.readLine();
br.readLine();
}
}
+
}