missingExpectedMessage method
- @visibleForOverriding
- List<
ExpectedDiagnostic> unmatchedExpected
inherited
Text to display upon failure, indicating that unmatchedExpected
diagnostics were expected, but not found.
Implementation
@visibleForOverriding
String missingExpectedMessage(List<ExpectedDiagnostic> unmatchedExpected) {
var buffer = StringBuffer();
buffer.writeln('Expected but did not find:');
for (var expected in unmatchedExpected) {
buffer.write(' ');
if (expected is ExpectedError) {
buffer.write(expected._code);
}
if (expected is ExpectedLint) {
buffer.write(expected._lintName);
}
buffer.write(' [${expected.offset}, ');
buffer.write(expected.length);
if (expected._messageContains.isNotEmpty) {
buffer.write(', messageContains: ');
buffer.write(
json.encode([
for (var pattern in expected._messageContains) pattern.toString(),
]),
);
}
if (expected._correctionContains case Pattern correctionContains) {
buffer.write(', correctionContains: ');
buffer.write(json.encode(correctionContains.toString()));
}
if (expected._contextMessages
case List(:var isNotEmpty) && var contextMessages when isNotEmpty) {
buffer.write(', contextMessages: [');
for (var i = 0; i < contextMessages.length; i++) {
var contextMessage = contextMessages[i];
if (i > 0) {
buffer.write(', ');
}
buffer.write('message(');
buffer.write(contextMessage.file.path);
buffer.write(', ');
buffer.write(contextMessage.offset);
buffer.write(', ');
buffer.write(contextMessage.length);
if (contextMessage.text != null) {
buffer.write(', text: ');
buffer.write(json.encode(contextMessage.text));
}
if (contextMessage.textContains.isNotEmpty) {
buffer.write(', textContains: ');
buffer.write(
json.encode([
for (var pattern in contextMessage.textContains)
pattern.toString(),
]),
);
}
buffer.write(')');
}
}
buffer.writeln(']');
}
return buffer.toString();
}