You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2018/04/22 09:42:12 UTC

[maven-surefire] 01/01: [SUREFIRE-1515] Fix for use case when an empty array is passed.

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch 1515
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit b6debff6ad5360587b6bb696c1b693c6bce2ac84
Author: Alex Baxanean <ab...@mobileiron.com>
AuthorDate: Wed Apr 11 15:00:04 2018 -0700

    [SUREFIRE-1515] Fix for use case when an empty array is passed.
---
 .../org/apache/maven/surefire/util/internal/StringUtils.java     | 6 ++++++
 .../org/apache/maven/surefire/util/internal/StringUtilsTest.java | 9 +++++++++
 2 files changed, 15 insertions(+)

diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java b/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
index 23d372c..b0665bd 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/util/internal/StringUtils.java
@@ -239,6 +239,10 @@ public final class StringUtils
     public static EncodedArray escapeBytesToPrintable( final byte[] header, final byte[] input, final int off,
                                                        final int len )
     {
+        if ( input.length == 0 )
+        {
+            return EncodedArray.EMPTY;
+        }
         if ( off < 0 || len < 0 || off >= input.length || len > input.length || off > len )
         {
             throw new IndexOutOfBoundsException(
@@ -359,6 +363,8 @@ public final class StringUtils
      */
     public static final class EncodedArray
     {
+        private static final EncodedArray EMPTY = new EncodedArray( new byte[]{}, 0 );
+
         private final byte[] array;
         private final int size;
 
diff --git a/surefire-api/src/test/java/org/apache/maven/surefire/util/internal/StringUtilsTest.java b/surefire-api/src/test/java/org/apache/maven/surefire/util/internal/StringUtilsTest.java
index dea6c9b..96e5ed3 100644
--- a/surefire-api/src/test/java/org/apache/maven/surefire/util/internal/StringUtilsTest.java
+++ b/surefire-api/src/test/java/org/apache/maven/surefire/util/internal/StringUtilsTest.java
@@ -110,4 +110,13 @@ public class StringUtilsTest
 
         assertArrayEquals( expectedResult, actualResult );
     }
+
+    public void testEmptyByteArray()
+    {
+        byte[] header = { (byte) 'a' };
+        byte[] input = {};
+        EncodedArray encodedArray = StringUtils.escapeBytesToPrintable( header, input, 0, input.length );
+        assertEquals( 0, encodedArray.getSize() );
+        assertEquals( 0, encodedArray.getArray().length );
+    }
 }

-- 
To stop receiving notification emails like this one, please contact
tibordigana@apache.org.