in lib/src/equals_matcher.dart [270:299]
Description describeMismatch(Object? item, Description mismatchDescription,
Map matchState, bool verbose) {
var mismatch = matchState['mismatch'] as _Mismatch;
var describeProblem = mismatch.describeProblem;
if (mismatch.location.isNotEmpty) {
mismatchDescription
.add('at location ')
.add(mismatch.location)
.add(' is ')
.addDescriptionOf(mismatch.actual);
if (describeProblem != null) {
mismatchDescription
.add(' ${mismatch.instead ? 'instead of' : 'which'} ');
describeProblem(mismatchDescription, verbose);
}
} else {
// If we didn't get a good reason, that would normally be a
// simple 'is <value>' message. We only add that if the mismatch
// description is non empty (so we are supplementing the mismatch
// description).
if (describeProblem == null) {
if (mismatchDescription.length > 0) {
mismatchDescription.add('is ').addDescriptionOf(item);
}
} else {
describeProblem(mismatchDescription, verbose);
}
}
return mismatchDescription;
}