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-net.git

commit f91ba4497382935ee47c53278061c01aac9cf391
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Mon May 27 09:48:30 2024 -0400

    Add more tests
---
 src/main/java/org/apache/commons/net/util/Base64.java     |  2 +-
 src/test/java/org/apache/commons/net/util/Base64Test.java | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/commons/net/util/Base64.java 
b/src/main/java/org/apache/commons/net/util/Base64.java
index c9eff4b3..582e7c34 100644
--- a/src/main/java/org/apache/commons/net/util/Base64.java
+++ b/src/main/java/org/apache/commons/net/util/Base64.java
@@ -69,7 +69,7 @@ public class Base64 {
      *
      * @see <a href="http://www.ietf.org/rfc/rfc2045.txt";>RFC 2045 section 
2.1</a>
      */
-    private static final byte[] CHUNK_SEPARATOR = { '\r', '\n' };
+    static final byte[] CHUNK_SEPARATOR = { '\r', '\n' };
 
     /**
      * This array is a lookup table that translates 6-bit positive integer 
index values into their "Base64 Alphabet" equivalents as specified in Table 1 
of RFC
diff --git a/src/test/java/org/apache/commons/net/util/Base64Test.java 
b/src/test/java/org/apache/commons/net/util/Base64Test.java
index 40d60373..475007cf 100644
--- a/src/test/java/org/apache/commons/net/util/Base64Test.java
+++ b/src/test/java/org/apache/commons/net/util/Base64Test.java
@@ -30,6 +30,8 @@ import java.nio.charset.StandardCharsets;
 import java.util.Base64.Decoder;
 import java.util.Base64.Encoder;
 
+import org.apache.commons.lang3.ArrayFill;
+import org.apache.commons.lang3.ArrayUtils;
 import org.junit.Test;
 
 @SuppressWarnings({ "deprecation" })
@@ -217,6 +219,12 @@ public class Base64Test {
         final byte[] bytesToEncode = { 'f', 'o', 'o', 'b', 'a', 'r' };
         final byte[] encodedData = Base64.encodeBase64Chunked(bytesToEncode);
         assertEquals("Zm9vYmFy\r\n", new String(encodedData, 
StandardCharsets.UTF_8));
+        // > 76
+        final byte[] chunkMe = ArrayFill.fill(new byte[Base64.CHUNK_SIZE * 2], 
(byte) 'A');
+        final byte[] chunked = Base64.encodeBase64Chunked(chunkMe);
+        assertEquals('\r', chunked[chunked.length - 2]);
+        assertEquals('\n', chunked[chunked.length - 1]);
+        
assertArrayEquals(ArrayUtils.addAll(java.util.Base64.getMimeEncoder().encode(chunkMe),
 Base64.CHUNK_SEPARATOR), chunked);
     }
 
     @Test
@@ -224,6 +232,12 @@ public class Base64Test {
         final String stringToEncode = "Many hands make light work.";
         final String encodedData = 
Base64.encodeBase64String(stringToEncode.getBytes());
         assertEquals("TWFueSBoYW5kcyBtYWtlIGxpZ2h0IHdvcmsu\r\n", encodedData);
+        // > 76
+        final byte[] chunkMe = ArrayFill.fill(new byte[Base64.CHUNK_SIZE * 2], 
(byte) 'A');
+        final String chunked = Base64.encodeBase64String(chunkMe);
+        assertEquals('\r', chunked.charAt(chunked.length() - 2));
+        assertEquals('\n', chunked.charAt(chunked.length() - 1));
+        assertEquals(java.util.Base64.getMimeEncoder().encodeToString(chunkMe) 
+ "\r\n", chunked);
     }
 
     @Test

Reply via email to