report method
Implementation
@override
void report(String approvedPath, String receivedPath, {String? message}) {
try {
final buffer = StringBuffer(message ?? "Differences:\n");
final approvedLines = _readFileLines(approvedPath);
final receivedLines = _readFileLines(receivedPath);
final maxLines = max(approvedLines.length, receivedLines.length);
for (var i = 0; i < maxLines; i++) {
final approvedLine = i < approvedLines.length ? approvedLines[i] : "";
final receivedLine = i < receivedLines.length ? receivedLines[i] : "";
if (approvedLine != receivedLine) {
_appendDifference(buffer, i + 1, approvedLine, receivedLine);
}
}
if (buffer.isNotEmpty) {
ApprovalLogger.exception(buffer.toString());
}
} catch (e) {
// Logging and rethrowing to preserve error stack trace
ApprovalLogger.exception("Error while reporting differences: \$e");
rethrow;
}
}