-
Notifications
You must be signed in to change notification settings - Fork 203
Closed
Description
If expected or actual value in DefaultComparator.compareValues(...) is null then a NullPointerException will be thrown by formatting of message.
org.skyscreamer:jsonassert:1.5.1
java.lang.NullPointerException: Cannot invoke "Object.toString()" because "value" is null
at org.skyscreamer.jsonassert.JSONCompareResult.describe(JSONCompareResult.java:248)
at org.skyscreamer.jsonassert.JSONCompareResult.formatFailureMessage(JSONCompareResult.java:200)
at org.skyscreamer.jsonassert.JSONCompareResult.fail(JSONCompareResult.java:180)
at org.skyscreamer.jsonassert.comparator.DefaultComparator.compareValues(DefaultComparator.java:57)
at org.skyscreamer.jsonassert.comparator.CustomComparator.compareValues(CustomComparator.java:48)
Proposal: Replace lines (in DefaultComparator.compareValues(...))
if ((expectedValue == null && actualValue != null) || (expectedValue != null && actualValue == null)) {
result.fail(prefix, expectedValue, actualValue);
}
to
if (expectedValue == null && actualValue != null) {
result.unexpected(prefix, actualValue);
}
if (expectedValue != null && actualValue == null) {
result.missing(prefix, expectedValue);
}
Metadata
Metadata
Assignees
Labels
No labels