This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new dd4df23483 SonarQube bug fixes
dd4df23483 is described below
commit dd4df234835a289d4ae5e055eae34ca15645e37e
Author: James Bognar <[email protected]>
AuthorDate: Wed Feb 18 09:47:24 2026 -0500
SonarQube bug fixes
---
.../apache/juneau/commons/collections/Lists.java | 3 ++
.../apache/juneau/commons/collections/Maps.java | 5 ++-
.../apache/juneau/commons/collections/Sets.java | 3 ++
.../juneau/commons/utils/CollectionUtils.java | 19 ++++++--
.../apache/juneau/commons/utils/StringUtils.java | 50 +++++++++++-----------
.../main/java/org/apache/juneau/BeanContext.java | 15 +++++--
.../apache/juneau/html/HtmlSerializerSession.java | 10 ++++-
.../org/apache/juneau/rest/client/RestRequest.java | 2 +-
.../org/apache/juneau/http/header/EntityTags.java | 2 +-
.../juneau/commons/utils/CollectionUtils_Test.java | 4 +-
.../juneau/commons/utils/StringUtils_Test.java | 26 +++++------
11 files changed, 86 insertions(+), 53 deletions(-)
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Lists.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Lists.java
index d9b37f7e30..64468ad3f7 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Lists.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Lists.java
@@ -289,6 +289,9 @@ public class Lists<E> {
*
* @return The built list, or {@code null} if {@link #sparse()} is set
and the list is empty.
*/
+ @SuppressWarnings({
+ "java:S1168" // TODO: Intentional null when sparse+empty.
Consider Optional.
+ })
public List<E> build() {
if (sparse && e(list))
return null;
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
index 2b2bb27f58..0974e248eb 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Maps.java
@@ -303,7 +303,10 @@ public class Maps<K,V> {
*
* @return The built map, or {@code null} if {@link #sparse()} is set
and the map is empty.
*/
- @SuppressWarnings("java:S3776")
+ @SuppressWarnings({
+ "java:S1168", // TODO: Intentional null when sparse+empty.
Consider Optional.
+ "java:S3776" // Cognitive complexity acceptable for map
builder
+ })
public Map<K,V> build() {
if (sparse && e(map))
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Sets.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Sets.java
index af9a1df4d2..9403f7cfc6 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Sets.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/collections/Sets.java
@@ -306,6 +306,9 @@ public class Sets<E> {
*
* @return The built set, or {@code null} if {@link #sparse()} is set
and the set is empty.
*/
+ @SuppressWarnings({
+ "java:S1168" // TODO: Intentional null when sparse+empty.
Consider Optional.
+ })
public Set<E> build() {
if (sparse && e(set))
return null;
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
index a4db36f0ea..f8db492c72 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/CollectionUtils.java
@@ -523,7 +523,7 @@ public class CollectionUtils {
*
* @param <E> The element type.
* @param arrays Collection of arrays to combine.
- * @return A new combined array, or <jk>null</jk> if all arrays are
<jk>null</jk>.
+ * @return A new combined array, or an empty array if all arrays are
<jk>null</jk>.
*/
@SuppressWarnings({
"unchecked" // Type erasure requires unchecked casts
@@ -538,7 +538,7 @@ public class CollectionUtils {
l += (a == null ? 0 : a.length);
}
if (a1 == null)
- return null;
+ return (E[]) new Object[0];
var a =
(E[])Array.newInstance(a1.getClass().getComponentType(), l);
int i = 0;
for (var aa : arrays)
@@ -1118,12 +1118,15 @@ public class CollectionUtils {
/**
* Returns a null list.
*
+ * <p>TODO: SonarLint java:S1168 - Intentional null return for
assertion testing. Consider Optional.
+ *
* @param <T> The element type.
* @param type The element type class.
* @return <jk>null</jk>.
*/
@SuppressWarnings({
- "java:S1172" // Parameter type is used for type inference, not
runtime behavior
+ "java:S1168", // TODO: Intentional null return for assertion
testing. Consider Optional.
+ "java:S1172" // Parameter type is used for type inference,
not runtime behavior
})
public static <T> List<T> listn(Class<T> type) {
return null;
@@ -1880,12 +1883,17 @@ public class CollectionUtils {
/**
* Returns a null map.
*
+ * <p>TODO: SonarLint java:S1168 - Intentional null return for
assertion testing. Consider Optional.
+ *
* @param <K> The key type.
* @param <V> The value type.
* @param keyType The key type class.
* @param valueType The value type class.
* @return <jk>null</jk>.
*/
+ @SuppressWarnings({
+ "java:S1168" // TODO: Intentional null return for assertion
testing. Consider Optional.
+ })
public static <K,V> Map<K,V> mapn(Class<K> keyType, Class<V> valueType)
{
return null;
}
@@ -1906,12 +1914,15 @@ public class CollectionUtils {
/**
* Returns <jk>null</jk> for the specified array type.
*
+ * <p>TODO: SonarLint java:S1168 - Intentional null return for
assertion testing. Consider Optional.
+ *
* @param <T> The component type.
* @param type The component type class.
* @return <jk>null</jk>.
*/
@SuppressWarnings({
- "java:S1172" // Parameter type is used for type inference, not
runtime behavior
+ "java:S1168", // TODO: Intentional null return for assertion
testing. Consider Optional.
+ "java:S1172" // Parameter type is used for type inference,
not runtime behavior
})
public static <T> T[] na(Class<T> type) {
return null;
diff --git
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
index a19ff475e4..10aeeb25c0 100644
---
a/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
+++
b/juneau-core/juneau-commons/src/main/java/org/apache/juneau/commons/utils/StringUtils.java
@@ -336,11 +336,11 @@ public class StringUtils {
* BASE64-decodes the specified string.
*
* @param in The BASE-64 encoded string.
- * @return The decoded byte array, or null if the input was
<jk>null</jk>.
+ * @return The decoded byte array, or an empty array if the input was
<jk>null</jk>.
*/
public static byte[] base64Decode(String in) {
if (in == null)
- return null;
+ return new byte[0];
var bIn = in.getBytes(UTF8);
@@ -380,12 +380,10 @@ public class StringUtils {
* Shortcut for calling <c>base64Decode(String)</c> and converting the
result to a UTF-8 encoded string.
*
* @param in The BASE-64 encoded string to decode.
- * @return The decoded string.
+ * @return The decoded string, or an empty string if the input was
<jk>null</jk>.
*/
public static String base64DecodeToString(String in) {
var b = base64Decode(in);
- if (b == null)
- return null;
return new String(b, UTF8);
}
@@ -1220,11 +1218,11 @@ public class StringUtils {
* </p>
*
* @param array The array to process. Can be <jk>null</jk>.
- * @return A new array with duplicate elements removed, or
<jk>null</jk> if the array was <jk>null</jk>.
+ * @return A new array with duplicate elements removed, or an empty
array if the array was <jk>null</jk>.
*/
public static String[] distinct(String[] array) {
if (array == null)
- return null;
+ return new String[0];
return
Arrays.stream(array).collect(Collectors.toCollection(LinkedHashSet::new)).toArray(new
String[0]);
}
@@ -1242,11 +1240,11 @@ public class StringUtils {
* </p>
*
* @param str The string to generate a Double Metaphone code for. Can
be <jk>null</jk>.
- * @return An array with two elements: [primary code, alternate code].
Returns <jk>null</jk> if input is <jk>null</jk> or empty.
+ * @return An array with two elements: [primary code, alternate code].
Returns an empty array if input is <jk>null</jk> or empty.
*/
public static String[] doubleMetaphone(String str) {
if (isEmpty(str))
- return null;
+ return new String[0];
// For simplicity, return the same code for both primary and
alternate
// A full Double Metaphone implementation would be much more
complex
@@ -1906,11 +1904,11 @@ public class StringUtils {
*
* @param array The array to filter. Can be <jk>null</jk>.
* @param predicate The predicate to apply to each element. Can be
<jk>null</jk>.
- * @return A new array containing only the elements that match the
predicate, or <jk>null</jk> if the array was <jk>null</jk>.
+ * @return A new array containing only the elements that match the
predicate, or an empty array if the array was <jk>null</jk>.
*/
public static String[] filter(String[] array, Predicate<String>
predicate) {
if (array == null)
- return null;
+ return new String[0];
if (predicate == null)
return new String[0];
return
Arrays.stream(array).filter(predicate).toArray(String[]::new);
@@ -4325,11 +4323,11 @@ public class StringUtils {
*
* @param array The array to map. Can be <jk>null</jk>.
* @param mapper The function to apply to each element. Can be
<jk>null</jk>.
- * @return A new array with the mapped elements, or <jk>null</jk> if
the array was <jk>null</jk>.
+ * @return A new array with the mapped elements, or an empty array if
the array was <jk>null</jk>.
*/
public static String[] mapped(String[] array, Function<String,String>
mapper) {
if (array == null)
- return null;
+ return new String[0];
if (mapper == null)
return Arrays.copyOf(array, array.length);
return Arrays.stream(array).map(mapper).toArray(String[]::new);
@@ -6179,11 +6177,11 @@ public class StringUtils {
* </p>
*
* @param array The array to sort. Can be <jk>null</jk>.
- * @return A new sorted array, or <jk>null</jk> if the array was
<jk>null</jk>.
+ * @return A new sorted array, or an empty array if the array was
<jk>null</jk>.
*/
public static String[] sort(String[] array) {
if (array == null)
- return null;
+ return new String[0];
var result = Arrays.copyOf(array, array.length);
Arrays.sort(result);
return result;
@@ -6205,11 +6203,11 @@ public class StringUtils {
* </p>
*
* @param array The array to sort. Can be <jk>null</jk>.
- * @return A new sorted array (case-insensitive), or <jk>null</jk> if
the array was <jk>null</jk>.
+ * @return A new sorted array (case-insensitive), or an empty array if
the array was <jk>null</jk>.
*/
public static String[] sortIgnoreCase(String[] array) {
if (array == null)
- return null;
+ return new String[0];
var result = Arrays.copyOf(array, array.length);
Arrays.sort(result, String.CASE_INSENSITIVE_ORDER);
return result;
@@ -6478,15 +6476,15 @@ public class StringUtils {
*
* @param s The string to split.
* @param trim Trim strings after parsing.
- * @return The parsed map, or null if the string was null.
+ * @return The parsed map, or an empty map if the string was null.
*/
@SuppressWarnings({
- "java:S3776" // Cognitive complexity acceptable for map
splitting logic
+ "java:S3776" // Cognitive complexity acceptable for map
splitting logic
})
public static Map<String,String> splitMap(String s, boolean trim) {
if (s == null)
- return null;
+ return mape();
if (isEmpty(s))
return mape();
@@ -6552,7 +6550,7 @@ public class StringUtils {
public static String[] splitMethodArgs(String s) {
if (s == null)
- return null;
+ return new String[0];
if (isEmpty(s))
return new String[0];
if (s.indexOf(',') == -1)
@@ -6739,13 +6737,13 @@ public class StringUtils {
* <br>An empty string results in an empty array.
*/
@SuppressWarnings({
- "java:S3776", // Cognitive complexity acceptable for quoted
string splitting
- "java:S2583" // State variables persist across loop iterations
+ "java:S3776", // Cognitive complexity acceptable for quoted
string splitting
+ "java:S2583" // State variables persist across loop
iterations
})
public static String[] splitQuoted(String s, boolean keepQuotes) {
if (s == null)
- return null;
+ return new String[0];
s = s.trim();
@@ -7266,11 +7264,11 @@ public class StringUtils {
* Returns an empty array if the collection is empty.
*
* @param collection The collection to convert. Can be <jk>null</jk>.
- * @return A new string array containing the collection elements, or
<jk>null</jk> if the collection was <jk>null</jk>.
+ * @return A new string array containing the collection elements, or an
empty array if the collection was <jk>null</jk>.
*/
public static String[] toStringArray(Collection<String> collection) {
if (collection == null)
- return null;
+ return new String[0];
return collection.toArray(new String[collection.size()]);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 0a2bf284cb..e47032e55e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -4423,6 +4423,13 @@ public class BeanContext extends Context {
return cmString;
}
+ /**
+ * Finds the type parameters for a parameterized type.
+ *
+ * @param o The generic type.
+ * @param c The raw class.
+ * @return The array of {@link ClassMeta} for each type parameter, or
an empty array if parameters cannot be resolved.
+ */
@SuppressWarnings("java:S3776")
final ClassMeta[] findParameters(Type o, Class c) {
if (o == null)
@@ -4447,15 +4454,15 @@ public class BeanContext extends Context {
var l = new LinkedList<ClassMeta<?>>();
for (var pt2 : o2.getActualTypeArguments()) {
if (pt2 instanceof WildcardType || pt2
instanceof TypeVariable)
- return null;
+ return new ClassMeta[0];
l.add(resolveClassMeta(pt2, null));
}
if (l.isEmpty())
- return null;
+ return new ClassMeta[0];
return l.toArray(new ClassMeta[l.size()]);
}
- return null;
+ return new ClassMeta[0];
}
@SuppressWarnings("java:S3776")
@@ -4495,7 +4502,7 @@ public class BeanContext extends Context {
// then we need to figure out the parameters.
if (rawType.isMap() || rawType.isCollection() ||
rawType.isOptional()) {
var params = findParameters(o, c);
- if (params == null)
+ if (params.length == 0)
return rawType;
if (rawType.isMap()) {
if (params.length != 2 || (params[0].isObject()
&& params[1].isObject()))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index c459329817..cc4235cf10 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -335,8 +335,16 @@ public class HtmlSerializerSession extends
XmlSerializerSession {
* Returns null if collection should not be serialized as a
2-dimensional table.
* Returns an empty array if it should be treated as a table but
without headers.
* 2-dimensional tables are used for collections of objects that all
have the same set of property names.
+ *
+ * TODO: SonarLint java:S1168 - null vs empty array have distinct
semantics here (don't use table vs table with no headers).
+ * Consider Optional or separate method to avoid null return.
*/
- @SuppressWarnings({ "rawtypes", "unchecked", "java:S3776" })
+ @SuppressWarnings({
+ "rawtypes", // Collection uses raw type for mixed
beans/maps
+ "unchecked", // Type erasure in generic collection handling
+ "java:S1168", // TODO: null vs empty array have distinct
semantics (don't use table vs table with no headers)
+ "java:S3776" // Cognitive complexity acceptable for table
header resolution
+ })
private Object[] getTableHeaders(Collection c, HtmlBeanPropertyMeta
bpHtml) throws SerializeException {
if (c.isEmpty())
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
index 95899a54ac..8d1edb104c 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
@@ -132,7 +132,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
}
@Override
- public HeaderElement[] getElements() throws ParseException {
return null; }
+ public HeaderElement[] getElements() throws ParseException {
return new HeaderElement[0]; }
}
private class SimplePart implements NameValuePair {
diff --git
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/EntityTags.java
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/EntityTags.java
index e8976dd62a..c10e362516 100644
---
a/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/EntityTags.java
+++
b/juneau-rest/juneau-rest-common/src/main/java/org/apache/juneau/http/header/EntityTags.java
@@ -108,7 +108,7 @@ public class EntityTags {
private static EntityTag[] parse(String value) {
if (value == null)
- return null;
+ return new EntityTag[0];
var s = splita(value);
var v = new EntityTag[s.length];
for (var i = 0; i < s.length; i++)
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/commons/utils/CollectionUtils_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/commons/utils/CollectionUtils_Test.java
index b4efca5a43..539b883da9 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/commons/utils/CollectionUtils_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/commons/utils/CollectionUtils_Test.java
@@ -331,8 +331,8 @@ class CollectionUtils_Test extends TestBase {
assertList(combine(s2), "b");
assertList(combine(s1, null), "a");
assertList(combine(null, s2), "b");
- assertNull(combine(null, null));
- assertNull(combine());
+ assertEmpty(combine(null, null));
+ assertEmpty(combine());
}
//====================================================================================================
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/commons/utils/StringUtils_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/commons/utils/StringUtils_Test.java
index d46017b3de..318a9e4160 100755
---
a/juneau-utest/src/test/java/org/apache/juneau/commons/utils/StringUtils_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/commons/utils/StringUtils_Test.java
@@ -258,7 +258,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a007_base64Decode() {
- assertNull(base64Decode(null));
+ assertArrayEquals(new byte[] {}, base64Decode(null));
assertArrayEquals(new byte[] {}, base64Decode(""));
assertArrayEquals("Hello".getBytes(UTF8),
base64Decode("SGVsbG8="));
assertArrayEquals("Hello World".getBytes(UTF8),
base64Decode("SGVsbG8gV29ybGQ="));
@@ -282,7 +282,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a008_base64DecodeToString() {
- assertNull(base64DecodeToString(null));
+ assertEquals("", base64DecodeToString(null));
assertEquals("", base64DecodeToString(""));
assertEquals("Hello", base64DecodeToString("SGVsbG8="));
assertEquals("Hello World",
base64DecodeToString("SGVsbG8gV29ybGQ="));
@@ -819,7 +819,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a032_distinct() {
- assertNull(distinct(null));
+ assertList(distinct(null));
assertList(distinct(a()));
assertList(distinct(a("foo", "bar", "baz")), "foo", "bar",
"baz");
assertList(distinct(a("foo", "bar", "foo", "baz", "bar")),
"foo", "bar", "baz");
@@ -846,8 +846,8 @@ class StringUtils_Test extends TestBase {
assertEquals(2, codes2.length);
// Null/empty input
- assertNull(doubleMetaphone(null));
- assertNull(doubleMetaphone(""));
+ assertList(doubleMetaphone(null));
+ assertList(doubleMetaphone(""));
// Test with numbers-only string - metaphone returns "" (empty
string), not null
// So doubleMetaphone should return a valid array with empty
strings
@@ -1338,7 +1338,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a052_filter() {
- assertNull(filter(null, NOT_EMPTY));
+ assertList(filter(null, NOT_EMPTY));
assertList(filter(a(), NOT_EMPTY));
assertList(filter(a("foo", "", "bar", null, "baz"), NOT_EMPTY),
"foo", "bar", "baz");
assertList(filter(a("foo", "", "bar", null, "baz"), null));
@@ -3677,7 +3677,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a123_mapped() {
- assertNull(mapped(null, String::toUpperCase));
+ assertList(mapped(null, String::toUpperCase));
assertList(mapped(a(), String::toUpperCase));
assertList(mapped(a("foo", "bar", "baz"), String::toUpperCase),
"FOO", "BAR", "BAZ");
assertList(mapped(a("FOO", "BAR", "BAZ"), String::toLowerCase),
"foo", "bar", "baz");
@@ -5316,7 +5316,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a181_sort() {
- assertNull(sort(null));
+ assertList(sort(null));
assertList(sort(a()));
assertList(sort(a("c", "a", "b")), "a", "b", "c");
assertList(sort(a("zebra", "apple", "banana")), "apple",
"banana", "zebra");
@@ -5331,7 +5331,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a182_sortIgnoreCase() {
- assertNull(sortIgnoreCase(null));
+ assertList(sortIgnoreCase(null));
assertList(sortIgnoreCase(a()));
assertList(sortIgnoreCase(a("c", "a", "b")), "a", "b", "c");
assertList(sortIgnoreCase(a("Zebra", "apple", "Banana")),
"apple", "Banana", "Zebra");
@@ -5598,7 +5598,7 @@ class StringUtils_Test extends TestBase {
assertString("{a\\=1}", splitMap("a\\\\=1", true));
// Test code path
- assertNull(splitMap(null, true));
+ assertTrue(splitMap(null, true).isEmpty());
// Test code path
assertTrue(splitMap("", true).isEmpty());
@@ -5644,7 +5644,7 @@ class StringUtils_Test extends TestBase {
assertEquals("z", args3[2]);
// Null/empty input
- assertNull(splitMethodArgs(null));
+ assertList(splitMethodArgs(null));
assertArrayEquals(new String[0], splitMethodArgs(""));
}
@@ -5768,7 +5768,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a190_splitQuoted() {
- assertNull(splitQuoted(null));
+ assertList(splitQuoted(null));
assertEmpty(splitQuoted(""));
assertEmpty(splitQuoted(" \t "));
assertList(splitQuoted("foo"), "foo");
@@ -6270,7 +6270,7 @@ class StringUtils_Test extends TestBase {
//====================================================================================================
@Test
void a210_toStringArray() {
- assertNull(toStringArray(null));
+ assertList(toStringArray(null));
assertList(toStringArray(Collections.emptyList()));
assertList(toStringArray(List.of("a", "b", "c")), "a", "b",
"c");