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

commit 87e6728b401cce27380b6aef1f0625e87c74a220
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu May 18 08:23:07 2023 -0400

    Update tests to user StringInputStream's builder.
---
 .../java/org/apache/commons/io/CopyUtilsTest.java  |  2 +-
 .../apache/commons/io/DemuxInputStreamTest.java    |  2 +-
 .../java/org/apache/commons/io/IOUtilsTest.java    |  2 +-
 .../commons/io/input/BOMInputStreamTest.java       |  9 +--
 .../commons/io/input/CountingInputStreamTest.java  |  4 +-
 .../apache/commons/io/input/StringInputStream.java | 66 +++++++++++-----------
 .../commons/io/input/StringInputStreamTest.java    |  5 +-
 .../io/input/UncheckedFilterInputStreamTest.java   |  3 +-
 .../io/input/WindowsLineEndingInputStreamTest.java |  3 +-
 .../commons/io/input/XmlStreamReaderTest.java      |  4 +-
 .../io/input/XmlStreamReaderUtilitiesTest.java     |  2 +-
 .../XmlStreamReaderUtilitiesCompatibilityTest.java |  2 +-
 12 files changed, 54 insertions(+), 50 deletions(-)

diff --git a/src/test/java/org/apache/commons/io/CopyUtilsTest.java 
b/src/test/java/org/apache/commons/io/CopyUtilsTest.java
index ba9f2d18..81b996a4 100644
--- a/src/test/java/org/apache/commons/io/CopyUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/CopyUtilsTest.java
@@ -101,7 +101,7 @@ public class CopyUtilsTest {
         final String inDataStr = "data";
         final String charsetName = StandardCharsets.UTF_8.name();
         final StringWriter writer = new StringWriter();
-        CopyUtils.copy(new StringInputStream(inDataStr, charsetName), writer, 
charsetName);
+        CopyUtils.copy(new 
StringInputStream.Builder().setString(inDataStr).setCharset(charsetName).get(), 
writer, charsetName);
         assertEquals(inDataStr, writer.toString());
     }
 
diff --git a/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java 
b/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
index b1176236..ca0f3523 100644
--- a/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/DemuxInputStreamTest.java
@@ -140,7 +140,7 @@ public class DemuxInputStreamTest {
     }
 
     private void startReader(final String name, final String data, final 
DemuxInputStream demux) {
-        final InputStream input = new StringInputStream(data);
+        final InputStream input = new 
StringInputStream.Builder().setString(data).get();
         final ReaderThread thread = new ReaderThread(name, input, demux);
         threadMap.put(name, thread);
     }
diff --git a/src/test/java/org/apache/commons/io/IOUtilsTest.java 
b/src/test/java/org/apache/commons/io/IOUtilsTest.java
index cfbe2526..78391485 100644
--- a/src/test/java/org/apache/commons/io/IOUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/IOUtilsTest.java
@@ -966,7 +966,7 @@ public class IOUtilsTest {
 
     @Test
     public void testReadFully_InputStream_Offset() throws Exception {
-        final StringInputStream stream = new StringInputStream("abcd1234", 
StandardCharsets.UTF_8);
+        final StringInputStream stream = new 
StringInputStream.Builder().setString("abcd1234").setCharset(StandardCharsets.UTF_8).get();
         final byte[] buffer = "wx00000000".getBytes(StandardCharsets.UTF_8);
         IOUtils.readFully(stream, buffer, 2, 8);
         assertEquals("wxabcd1234", new String(buffer, 0, buffer.length, 
StandardCharsets.UTF_8));
diff --git a/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java 
b/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java
index 50890e8b..94bd53f7 100644
--- a/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java
@@ -152,14 +152,15 @@ public class BOMInputStreamTest {
         return new ByteArrayInputStream(data);
     }
 
-    private boolean doesSaxSupportCharacterSet(final String charSetName) 
throws ParserConfigurationException, SAXException, IOException {
+    private boolean doesSaxSupportCharacterSet(final String charsetName) 
throws ParserConfigurationException, SAXException, IOException {
         final DocumentBuilder documentBuilder = 
DocumentBuilderFactory.newInstance().newDocumentBuilder();
-        try (StringInputStream byteStream = new StringInputStream("<?xml 
version=\"1.0\" encoding=\"" + charSetName + "\"?><Z/>", charSetName)) {
+        try (StringInputStream byteStream = new 
StringInputStream.Builder().setString("<?xml version=\"1.0\" encoding=\"" + 
charsetName + "\"?><Z/>")
+                .setCharset(charsetName).get()) {
             final InputSource is = new InputSource(byteStream);
-            is.setEncoding(charSetName);
+            is.setEncoding(charsetName);
             documentBuilder.parse(is);
         } catch (final SAXParseException e) {
-            if (e.getMessage().contains(charSetName)) {
+            if (e.getMessage().contains(charsetName)) {
                 return false;
             }
         }
diff --git 
a/src/test/java/org/apache/commons/io/input/CountingInputStreamTest.java 
b/src/test/java/org/apache/commons/io/input/CountingInputStreamTest.java
index ca7083a0..23851f49 100644
--- a/src/test/java/org/apache/commons/io/input/CountingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/CountingInputStreamTest.java
@@ -33,7 +33,7 @@ public class CountingInputStreamTest {
     @Test
     public void testCounting() throws Exception {
         final String text = "A piece of text";
-        try (CountingInputStream cis = new CountingInputStream(new 
StringInputStream(text))) {
+        try (CountingInputStream cis = new CountingInputStream(new 
StringInputStream.Builder().setString(text).get())) {
 
             // have to declare this larger as we're going to read
             // off the end of the stream and input stream seems
@@ -149,7 +149,7 @@ public class CountingInputStreamTest {
     @Test
     public void testSkipping() throws IOException {
         final String text = "Hello World!";
-        try (CountingInputStream cis = new CountingInputStream(new 
StringInputStream(text))) {
+        try (CountingInputStream cis = new CountingInputStream(new 
StringInputStream.Builder().setString(text).get())) {
 
             assertEquals(6, cis.skip(6));
             assertEquals(6, cis.getCount());
diff --git a/src/test/java/org/apache/commons/io/input/StringInputStream.java 
b/src/test/java/org/apache/commons/io/input/StringInputStream.java
index dc6da34b..e54fc1b4 100644
--- a/src/test/java/org/apache/commons/io/input/StringInputStream.java
+++ b/src/test/java/org/apache/commons/io/input/StringInputStream.java
@@ -21,56 +21,56 @@ import java.io.InputStream;
 import java.io.StringReader;
 import java.nio.charset.Charset;
 
+import org.apache.commons.io.build.AbstractStreamBuilder;
+
 /**
  * An {@link InputStream} on a String.
  *
- * @since 2.12.0
+ * @since 2.13.0
  */
 public class StringInputStream extends ReaderInputStream {
 
     /**
-     * Creates a new instance on a String.
-     *
-     * @param source The source string, MUST not be null.
-     * @return A new instance.
+     * Builds a new {@link ReaderInputStream} instance.
+     * <p>
+     * For example:
+     * </p>
+     * <pre>{@code
+     * ReaderInputStream s = ReaderInputStream.builder()
+     *   .setString("String")
+     *   .setCharsetEncoder(Charset.defaultCharset())
+     *   .get()}
+     * </pre>
+     * <p>
      */
-    public static StringInputStream on(final String source) {
-        return new StringInputStream(source);
-    }
+    public static class Builder extends 
AbstractStreamBuilder<StringInputStream, Builder> {
 
-    /**
-     * Creates a new instance on the empty String.
-     */
-    public StringInputStream() {
-        this("", Charset.defaultCharset());
-    }
+        private String string;
 
-    /**
-     * Creates a new instance on a String.
-     *
-     * @param source The source string, MUST not be null.
-     */
-    public StringInputStream(final String source) {
-        this(source, Charset.defaultCharset());
-    }
+        /**
+         * Constructs a new instance.
+         *
+         * Only uses the String and Charset aspects of this builder.
+         * @throws UnsupportedOperationException if the origin cannot be 
converted to a Reader.
+         */
+        @Override
+        public StringInputStream get() {
+            return new StringInputStream(string, getCharset());
+        }
 
-    /**
-     * Creates a new instance on a String for a Charset.
-     *
-     * @param source The source string, MUST not be null.
-     * @param charset The source charset, MUST not be null.
-     */
-    public StringInputStream(final String source, final Charset charset) {
-        super(new StringReader(source), charset);
-    }
+        public Builder setString(final String string) {
+            this.string = string;
+            return this;
+        }
 
+    }
     /**
-     * Creates a new instance on a String and for a Charset.
+     * Creates a new instance on a String for a Charset.
      *
      * @param source The source string, MUST not be null.
      * @param charset The source charset, MUST not be null.
      */
-    public StringInputStream(final String source, final String charset) {
+    private StringInputStream(final String source, final Charset charset) {
         super(new StringReader(source), charset);
     }
 
diff --git 
a/src/test/java/org/apache/commons/io/input/StringInputStreamTest.java 
b/src/test/java/org/apache/commons/io/input/StringInputStreamTest.java
index 62415104..3b5b36bb 100644
--- a/src/test/java/org/apache/commons/io/input/StringInputStreamTest.java
+++ b/src/test/java/org/apache/commons/io/input/StringInputStreamTest.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.nio.charset.Charset;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.io.input.StringInputStream.Builder;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -32,14 +33,14 @@ public class StringInputStreamTest {
 
     @Test
     public void testStringConstructorString() throws IOException {
-        try (StringInputStream input = StringInputStream.on("01")) {
+        try (StringInputStream input = new Builder().setString("01").get()) {
             assertEquals("01", IOUtils.toString(input, 
Charset.defaultCharset()));
         }
     }
 
     @Test
     public void testStringConstructorStringCharset() throws IOException {
-        try (StringInputStream input = new StringInputStream("01", 
Charset.defaultCharset())) {
+        try (StringInputStream input = new 
Builder().setString("01").setCharset(Charset.defaultCharset()).get()) {
             assertEquals("01", IOUtils.toString(input, 
Charset.defaultCharset()));
         }
     }
diff --git 
a/src/test/java/org/apache/commons/io/input/UncheckedFilterInputStreamTest.java 
b/src/test/java/org/apache/commons/io/input/UncheckedFilterInputStreamTest.java
index 3a77acd0..85013db5 100644
--- 
a/src/test/java/org/apache/commons/io/input/UncheckedFilterInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/io/input/UncheckedFilterInputStreamTest.java
@@ -41,7 +41,8 @@ public class UncheckedFilterInputStreamTest {
     @SuppressWarnings("resource")
     @BeforeEach
     public void beforeEach() {
-        stringInputStream = 
UncheckedFilterInputStream.builder().setInputStream(new BufferedInputStream(new 
StringInputStream("01"))).get();
+        stringInputStream = 
UncheckedFilterInputStream.builder().setInputStream(new BufferedInputStream(new 
StringInputStream.Builder().setString("01").get()))
+                .get();
         exception = new IOException("test exception");
         brokenInputStream = 
UncheckedFilterInputStream.builder().setInputStream(new 
BrokenInputStream(exception)).get();
     }
diff --git 
a/src/test/java/org/apache/commons/io/input/WindowsLineEndingInputStreamTest.java
 
b/src/test/java/org/apache/commons/io/input/WindowsLineEndingInputStreamTest.java
index f643e6e7..53d2ab7c 100644
--- 
a/src/test/java/org/apache/commons/io/input/WindowsLineEndingInputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/io/input/WindowsLineEndingInputStreamTest.java
@@ -56,7 +56,8 @@ public class WindowsLineEndingInputStreamTest {
     }
 
     private String roundtrip(final String msg, final boolean ensure) throws 
IOException {
-        try (WindowsLineEndingInputStream lf = new 
WindowsLineEndingInputStream(new StringInputStream(msg, 
StandardCharsets.UTF_8), ensure)) {
+        try (WindowsLineEndingInputStream lf = new 
WindowsLineEndingInputStream(
+                new 
StringInputStream.Builder().setString(msg).setCharset(StandardCharsets.UTF_8).get(),
 ensure)) {
             final byte[] buf = new byte[100];
             final int read = lf.read(buf);
             return new String(buf, 0, read, StandardCharsets.UTF_8);
diff --git a/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java 
b/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java
index e7c1a208..b804a2ed 100644
--- a/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java
+++ b/src/test/java/org/apache/commons/io/input/XmlStreamReaderTest.java
@@ -379,7 +379,7 @@ public class XmlStreamReaderTest {
     public void testHttpContent() throws Exception {
         final String encoding = UTF_8;
         final String xml = getXML("no-bom", XML3, encoding, encoding);
-        try (XmlStreamReader xmlReader = new XmlStreamReader(new 
StringInputStream(xml, encoding))) {
+        try (XmlStreamReader xmlReader = new XmlStreamReader(new 
StringInputStream.Builder().setString(xml).setCharset(encoding).get())) {
             assertEquals(xmlReader.getEncoding(), encoding, "Check encoding");
             assertEquals(xml, IOUtils.toString(xmlReader), "Check content");
         }
@@ -505,7 +505,7 @@ public class XmlStreamReaderTest {
     public void testRawContent() throws Exception {
         final String encoding = UTF_8;
         final String xml = getXML("no-bom", XML3, encoding, encoding);
-        try (XmlStreamReader xmlReader = new XmlStreamReader(new 
StringInputStream(xml, encoding))) {
+        try (XmlStreamReader xmlReader = new XmlStreamReader(new 
StringInputStream.Builder().setString(xml).setCharset(encoding).get())) {
             assertEquals(xmlReader.getEncoding(), encoding, "Check encoding");
             assertEquals(xml, IOUtils.toString(xmlReader), "Check content");
         }
diff --git 
a/src/test/java/org/apache/commons/io/input/XmlStreamReaderUtilitiesTest.java 
b/src/test/java/org/apache/commons/io/input/XmlStreamReaderUtilitiesTest.java
index d6aac11a..0235dd77 100644
--- 
a/src/test/java/org/apache/commons/io/input/XmlStreamReaderUtilitiesTest.java
+++ 
b/src/test/java/org/apache/commons/io/input/XmlStreamReaderUtilitiesTest.java
@@ -33,7 +33,7 @@ public class XmlStreamReaderUtilitiesTest {
     /** Mock {@link XmlStreamReader} implementation */
     private static class MockXmlStreamReader extends XmlStreamReader {
         MockXmlStreamReader(final String defaultEncoding) throws IOException {
-            super(new StringInputStream(), null, true, defaultEncoding);
+            super(new StringInputStream.Builder().setString("").get(), null, 
true, defaultEncoding);
         }
     }
     private static final String RAWMGS1 = "encoding mismatch";
diff --git 
a/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReaderUtilitiesCompatibilityTest.java
 
b/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReaderUtilitiesCompatibilityTest.java
index 1127de49..eeaf8d73 100644
--- 
a/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReaderUtilitiesCompatibilityTest.java
+++ 
b/src/test/java/org/apache/commons/io/input/compatibility/XmlStreamReaderUtilitiesCompatibilityTest.java
@@ -29,7 +29,7 @@ public class XmlStreamReaderUtilitiesCompatibilityTest 
extends XmlStreamReaderUt
     /** Mock {@link XmlStreamReader} implementation */
     private static class MockXmlStreamReader extends XmlStreamReader {
         MockXmlStreamReader(final String defaultEncoding) throws IOException {
-            super(new StringInputStream(), null, true, defaultEncoding);
+            super(new StringInputStream.Builder().setString("").get(), null, 
true, defaultEncoding);
         }
     }
     @Override

Reply via email to