Skip to content

Commit 3535c17

Browse files
committed
Test encode of null and empty array with an offset
1 parent e42dfe1 commit 3535c17

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

src/test/java/org/apache/commons/codec/binary/Base16Test.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ public void testEmptyBase16() {
141141
byte[] result = new Base16().encode(empty);
142142
assertEquals("empty Base16 encode", 0, result.length);
143143
assertEquals("empty Base16 encode", null, new Base16().encode(null));
144+
result = new Base16().encode(empty, 0, 1);
145+
assertEquals("empty Base16 encode with offset", 0, result.length);
146+
assertEquals("empty Base16 encode with offset", null, new Base16().encode(null));
144147

145148
empty = new byte[0];
146149
result = new Base16().decode(empty);

src/test/java/org/apache/commons/codec/binary/Base32Test.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,25 @@ public void testCodec200() {
240240
assertNotNull(codec);
241241
}
242242

243+
/**
244+
* Test encode and decode of empty byte array.
245+
*/
246+
@Test
247+
public void testEmptyBase32() {
248+
byte[] empty = new byte[0];
249+
byte[] result = new Base32().encode(empty);
250+
assertEquals("empty Base32 encode", 0, result.length);
251+
assertEquals("empty Base32 encode", null, new Base32().encode(null));
252+
result = new Base32().encode(empty, 0, 1);
253+
assertEquals("empty Base32 encode with offset", 0, result.length);
254+
assertEquals("empty Base32 encode with offset", null, new Base32().encode(null));
255+
256+
empty = new byte[0];
257+
result = new Base32().decode(empty);
258+
assertEquals("empty Base32 decode", 0, result.length);
259+
assertEquals("empty Base32 encode", null, new Base32().decode((byte[]) null));
260+
}
261+
243262
@Test
244263
public void testRandomBytes() {
245264
for (int i = 0; i < 20; i++) {

src/test/java/org/apache/commons/codec/binary/Base64Test.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,9 @@ public void testEmptyBase64() {
400400
byte[] result = Base64.encodeBase64(empty);
401401
assertEquals("empty base64 encode", 0, result.length);
402402
assertEquals("empty base64 encode", null, Base64.encodeBase64(null));
403+
result = new Base64().encode(empty, 0, 1);
404+
assertEquals("empty base64 encode", 0, result.length);
405+
assertEquals("empty base64 encode", null, new Base64().encode(null, 0, 1));
403406

404407
empty = new byte[0];
405408
result = Base64.decodeBase64(empty);

0 commit comments

Comments
 (0)