Skip to content

Commit 52285ee

Browse files
author
Vincent Potucek
committed
invert false @nullable annotation on getFormatsByArgumentIndex
1 parent e973ec1 commit 52285ee

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

junit-jupiter-params/src/main/java/org/junit/jupiter/params/ParameterizedInvocationNameFormatter.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
package org.junit.jupiter.params;
1212

13+
import static java.lang.Math.min;
1314
import static java.util.Objects.requireNonNull;
1415
import static java.util.stream.Collectors.joining;
1516
import static org.junit.jupiter.params.ParameterizedInvocationConstants.ARGUMENTS_PLACEHOLDER;
@@ -24,7 +25,6 @@
2425
import java.text.Format;
2526
import java.text.MessageFormat;
2627
import java.util.ArrayList;
27-
import java.util.Arrays;
2828
import java.util.LinkedHashMap;
2929
import java.util.List;
3030
import java.util.Map;
@@ -246,24 +246,27 @@ public synchronized void append(ArgumentsContext context, StringBuffer result) {
246246
this.messageFormat.format(makeReadable(context.consumedArguments), result, new FieldPosition(0));
247247
}
248248

249-
private @Nullable Object[] makeReadable(@Nullable Object[] arguments) {
250-
@Nullable
251-
Format[] formats = messageFormat.getFormatsByArgumentIndex();
252-
@Nullable
253-
Object[] result = Arrays.copyOf(arguments, Math.min(arguments.length, formats.length), Object[].class);
254-
for (int i = 0; i < result.length; i++) {
255-
if (formats[i] == null) {
256-
result[i] = truncateIfExceedsMaxLength(StringUtils.nullSafeToString(arguments[i]));
257-
}
258-
}
259-
return result;
249+
@Nullable
250+
private Object[] makeReadable(@Nullable Object[] arguments) {
251+
return requireNonNull(makeReadable(arguments, messageFormat.getFormatsByArgumentIndex())).toArray();
260252
}
261253

262-
private @Nullable String truncateIfExceedsMaxLength(@Nullable String argument) {
263-
if (argument != null && argument.length() > this.argumentMaxLength) {
264-
return argument.substring(0, this.argumentMaxLength - 1) + ELLIPSIS;
265-
}
266-
return argument;
254+
@Nullable
255+
private List<Object> makeReadable(@Nullable Object[] arguments, Format[] formats) {
256+
return IntStream.range(0, min(arguments.length, formats.length)).mapToObj(
257+
i -> makeReadable(arguments, i, formats[i])).toList();
258+
}
259+
260+
@Nullable
261+
private Object makeReadable(@Nullable Object[] arguments, int index, @Nullable Format format) {
262+
return format != null ? arguments == null ? "" : arguments[index]
263+
: truncateIfExceedsMaxLength(StringUtils.nullSafeToString(arguments[index]));
264+
}
265+
266+
private String truncateIfExceedsMaxLength(String argument) {
267+
return argument.length() > this.argumentMaxLength
268+
? argument.substring(0, this.argumentMaxLength - 1) + ELLIPSIS
269+
: argument;
267270
}
268271
}
269272

0 commit comments

Comments
 (0)