diff --git a/src/main/java/org/apache/maven/shared/utils/StringUtils.java b/src/main/java/org/apache/maven/shared/utils/StringUtils.java index 36f874b2..4d113503 100644 --- a/src/main/java/org/apache/maven/shared/utils/StringUtils.java +++ b/src/main/java/org/apache/maven/shared/utils/StringUtils.java @@ -1108,11 +1108,13 @@ public static String rightPad(@NonNull String str, int size) { * @param size size to pad to * @param delim string to pad with * @return right padded String - * @throws ArithmeticException if delim is the empty String * @throws NullPointerException if str or delim is null */ @NonNull public static String rightPad(@NonNull String str, int size, @NonNull String delim) { + if (delim.isEmpty()) { + return str; + } size = (size - str.length()) / delim.length(); if (size > 0) { str += repeat(delim, size); @@ -1142,11 +1144,13 @@ public static String leftPad(@NonNull String str, int size) { * @param size size to pad to * @param delim string to pad with * @return left padded String - * @throws ArithmeticException if delim is the empty string * @throws NullPointerException if str or delim is null */ @NonNull public static String leftPad(@NonNull String str, int size, @NonNull String delim) { + if (delim.isEmpty()) { + return str; + } size = (size - str.length()) / delim.length(); if (size > 0) { str = repeat(delim, size) + str; diff --git a/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java b/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java index 506af23a..3eede059 100644 --- a/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java +++ b/src/test/java/org/apache/maven/shared/utils/StringUtilsTest.java @@ -854,6 +854,11 @@ public void testLeftPad2() { assertEquals("*****dings", StringUtils.leftPad("dings", 10, "*")); } + @Test + public void testLeftPadEmptyDelim() { + assertEquals("dings", StringUtils.leftPad("dings", 10, "")); + } + @SuppressWarnings("ConstantValue") @Test public void testLowerCase() { @@ -1268,6 +1273,11 @@ public void testRightPad2() { assertEquals("dings+++++", StringUtils.rightPad("dings", 10, "+")); } + @Test + public void testRightPadEmptyDelim() { + assertEquals("dings", StringUtils.rightPad("dings", 10, "")); + } + @Test public void testSplit1NPE() { assertThrows(NullPointerException.class, () -> StringUtils.split(null));