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-codec.git
commit d296a1906134899bf74df542a6bfc13127758b2c Author: Gary Gregory <[email protected]> AuthorDate: Sat Mar 7 08:13:24 2026 -0500 Reuse IOUtils.toByteArray(InputStream) --- .../commons/codec/binary/Base16InputStreamTest.java | 7 ++++--- .../commons/codec/binary/Base32InputStreamTest.java | 14 ++++++++------ .../commons/codec/binary/Base58InputStreamTest.java | 17 +++++++++++------ .../commons/codec/binary/Base64InputStreamTest.java | 15 +++++++++------ .../org/apache/commons/codec/binary/BaseNTestData.java | 12 ------------ 5 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java index b431d62a..947e78c2 100644 --- a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java +++ b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java @@ -27,6 +27,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.Test; /** @@ -164,14 +165,14 @@ class Base16InputStreamTest { private void testByChunk(final byte[] encoded, final byte[] decoded, final boolean lowerCase) throws IOException { // Start with encode. try (InputStream in = new Base16InputStream(new ByteArrayInputStream(decoded), true, lowerCase)) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(encoded, output, "Streaming Base16 encode"); } // Now let's try to decode. try (InputStream in = new Base16InputStream(new ByteArrayInputStream(encoded), false, lowerCase)) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming Base16 decode"); @@ -180,7 +181,7 @@ class Base16InputStreamTest { try (InputStream in = new ByteArrayInputStream(decoded); InputStream inEncode = new Base16InputStream(in, true, lowerCase); InputStream inDecode = new Base16InputStream(inEncode, false, lowerCase)) { - final byte[] output = BaseNTestData.streamToBytes(inDecode); + final byte[] output = IOUtils.toByteArray(inDecode); assertEquals(-1, inDecode.read(), "EOF"); assertEquals(-1, inDecode.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming Base16 wrap-wrap!"); diff --git a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java index c1c02589..5d7c33d5 100644 --- a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java +++ b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java @@ -30,6 +30,7 @@ import java.io.IOException; import java.io.InputStream; import org.apache.commons.codec.CodecPolicy; +import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.Test; /** @@ -259,14 +260,14 @@ class Base32InputStreamTest { private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception { // Start with encode. try (InputStream in = new Base32InputStream(new ByteArrayInputStream(decoded), true, chunkSize, separator)) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(encoded, output, "Streaming base32 encode"); } // Now let's try to decode. try (InputStream in = new Base32InputStream(new ByteArrayInputStream(encoded))) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); @@ -278,7 +279,8 @@ class Base32InputStreamTest { in = new Base32InputStream(in, true, chunkSize, separator); in = new Base32InputStream(in, false); } - final byte[] output = BaseNTestData.streamToBytes(in); + final InputStream in1 = in; + final byte[] output = IOUtils.toByteArray(in1); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming base32 wrap-wrap-wrap!"); @@ -548,11 +550,11 @@ class Base32InputStreamTest { final Base32InputStream in = new Base32InputStream(new ByteArrayInputStream(encoded), false); // Default is lenient decoding; it should not throw assertFalse(in.isStrictDecoding()); - BaseNTestData.streamToBytes(in); + IOUtils.toByteArray(in); // Strict decoding should throw final Base32InputStream in2 = new Base32InputStream(new ByteArrayInputStream(encoded), false, 0, null, CodecPolicy.STRICT); assertTrue(in2.isStrictDecoding()); - assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in2)); + assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in2)); // Same with a builder try (Base32InputStream in3 = Base32InputStream.builder() .setByteArray(encoded) @@ -560,7 +562,7 @@ class Base32InputStreamTest { .setBaseNCodec(Base32.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get()) .get()) { assertTrue(in3.isStrictDecoding()); - assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in3)); + assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in3)); } } } diff --git a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java index fef0e3e7..39499a55 100644 --- a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java +++ b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java @@ -27,6 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.ByteArrayInputStream; import java.io.InputStream; +import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.Test; /** @@ -132,13 +133,13 @@ class Base58InputStreamTest { */ private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception { try (InputStream in = Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(encoded, output, "Streaming base58 encode"); } try (InputStream in = new Base58InputStream(new ByteArrayInputStream(encoded))) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming base58 decode"); @@ -148,7 +149,8 @@ class Base58InputStreamTest { in = Base58InputStream.builder().setInputStream(in).setEncode(true).get(); in = Base58InputStream.builder().setInputStream(in).setEncode(false).get(); } - final byte[] output = BaseNTestData.streamToBytes(in); + final InputStream in1 = in; + final byte[] output = IOUtils.toByteArray(in1); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming base58 wrap-wrap-wrap!"); @@ -170,13 +172,15 @@ class Base58InputStreamTest { private void testByteByByte(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception { InputStream in; in = Base58InputStream.builder().setByteArray(decoded).setEncode(true).get(); - byte[] output = BaseNTestData.streamToBytes(in); + final InputStream in1 = in; + byte[] output = IOUtils.toByteArray(in1); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(encoded, output, "Streaming base58 encode"); in.close(); in = new Base58InputStream(new ByteArrayInputStream(encoded)); - output = BaseNTestData.streamToBytes(in); + final InputStream in2 = in; + output = IOUtils.toByteArray(in2); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming base58 decode"); @@ -186,7 +190,8 @@ class Base58InputStreamTest { in = Base58InputStream.builder().setInputStream(in).setEncode(true).get(); in = Base58InputStream.builder().setInputStream(in).setEncode(false).get(); } - output = BaseNTestData.streamToBytes(in); + final InputStream in3 = in; + output = IOUtils.toByteArray(in3); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(decoded, output, "Streaming base58 wrap-wrap-wrap!"); diff --git a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java index 7698f8ec..cf8bcd43 100644 --- a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java +++ b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java @@ -32,6 +32,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import org.apache.commons.codec.CodecPolicy; +import org.apache.commons.io.IOUtils; import org.junit.jupiter.api.Test; /** @@ -203,7 +204,7 @@ class Base64InputStreamTest { private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception { // Start with encode. try (InputStream in = new Base64InputStream(new ByteArrayInputStream(decoded), true, chunkSize, separator)) { - final byte[] output = BaseNTestData.streamToBytes(in); + final byte[] output = IOUtils.toByteArray(in); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); assertArrayEquals(encoded, output, "Streaming base64 encode"); @@ -211,7 +212,8 @@ class Base64InputStreamTest { // Now let's try to decode. InputStream in = new Base64InputStream(new ByteArrayInputStream(encoded)); - byte[] output = BaseNTestData.streamToBytes(in); + final InputStream in1 = in; + byte[] output = IOUtils.toByteArray(in1); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); @@ -223,7 +225,8 @@ class Base64InputStreamTest { in = new Base64InputStream(in, true, chunkSize, separator); in = new Base64InputStream(in, false); } - output = BaseNTestData.streamToBytes(in); + final InputStream in2 = in; + output = IOUtils.toByteArray(in2); assertEquals(-1, in.read(), "EOF"); assertEquals(-1, in.read(), "Still EOF"); @@ -580,11 +583,11 @@ class Base64InputStreamTest { final Base64InputStream in = new Base64InputStream(new ByteArrayInputStream(encoded), false); // Default is lenient decoding; it should not throw assertFalse(in.isStrictDecoding()); - BaseNTestData.streamToBytes(in); + IOUtils.toByteArray(in); // Strict decoding should throw final Base64InputStream in2 = new Base64InputStream(new ByteArrayInputStream(encoded), false, 0, null, CodecPolicy.STRICT); assertTrue(in2.isStrictDecoding()); - assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in2)); + assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in2)); // Same with a builder try (Base64InputStream in3 = Base64InputStream.builder() .setByteArray(encoded) @@ -592,7 +595,7 @@ class Base64InputStreamTest { .setBaseNCodec(Base64.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get()) .get()) { assertTrue(in3.isStrictDecoding()); - assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in3)); + assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in3)); } } } diff --git a/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java b/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java index 2714283a..63b992f7 100644 --- a/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java +++ b/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.io.InputStream; import java.util.Random; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; /** @@ -129,17 +128,6 @@ public class BaseNTestData { return biggerBytes; } - /** - * Reads all bytes from an InputStream into a byte array. - * - * @param in the input stream. - * @return the byte array - * @throws IOException if an error occurs whilst reading the input stream - */ - static byte[] streamToBytes(final InputStream in) throws IOException { - return IOUtils.toByteArray(in); - } - /** * Reads all bytes from an InputStream into a byte array * in chunks of {@code buf.length}.
