Skip to content

Commit 4ae881d

Browse files
committed
Merge branch 'smallyard-master'
2 parents de75258 + b1f469c commit 4ae881d

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

junit-platform-commons/src/main/java/org/junit/platform/commons/util/StringUtils.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ public static String nullSafeToString(Class<?>... classes) {
8181
* Generate a comma-separated list of mapped values for the supplied classes.
8282
*
8383
* <p>The values are generated by the supplied {@code mapper}
84-
* (e.g., {@code Class::getName}, {@code Class::getSimpleName}, etc.).
84+
* (e.g., {@code Class::getName}, {@code Class::getSimpleName}, etc.), unless
85+
* a class reference is {@code null} in which case it will be mapped to
86+
* {@code "null"}.
8587
*
8688
* @param mapper the mapper to use
8789
* @param classes the classes to map
@@ -93,7 +95,7 @@ public static String nullSafeToString(Function<? super Class<?>, ? extends Strin
9395
if (classes == null || classes.length == 0) {
9496
return "";
9597
}
96-
return stream(classes).map(mapper).collect(joining(", "));
98+
return stream(classes).map(v -> v == null ? "null" : mapper.apply(v)).collect(joining(", "));
9799
}
98100

99101
}

platform-tests/src/test/java/org/junit/platform/commons/util/StringUtilsTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ void nullSafeToString() {
3636
assertEquals("", StringUtils.nullSafeToString());
3737
assertEquals("java.lang.String", StringUtils.nullSafeToString(String.class));
3838
assertEquals("java.lang.String, java.lang.Integer", StringUtils.nullSafeToString(String.class, Integer.class));
39+
assertEquals("java.lang.String, null, java.lang.Integer",
40+
StringUtils.nullSafeToString(String.class, null, Integer.class));
3941
}
4042

4143
}

0 commit comments

Comments
 (0)