From 605874ee98b52f5de7d1d1284507d5a9cb9eea9d Mon Sep 17 00:00:00 2001 From: Valentin Anger Date: Tue, 24 Nov 2020 22:26:38 +0100 Subject: feat(test): horizontal separator between disjoint runs of lines (#8484) Places a newline between non-consecutive line block in coverage report to improve readability. --- cli/tools/coverage.rs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'cli/tools/coverage.rs') diff --git a/cli/tools/coverage.rs b/cli/tools/coverage.rs index 85ba3f559..726ce9749 100644 --- a/cli/tools/coverage.rs +++ b/cli/tools/coverage.rs @@ -185,14 +185,28 @@ impl PrettyCoverageReporter { println!("{}", colors::red(&line_coverage)); } + let mut last_line = None; for line_index in uncovered_lines { + const WIDTH: usize = 4; + const SEPERATOR: &str = "|"; + + // Put a horizontal separator between disjoint runs of lines + if let Some(last_line) = last_line { + if last_line + 1 != line_index { + let dash = colors::gray(&"-".repeat(WIDTH + 1)); + println!("{}{}{}", dash, colors::gray(SEPERATOR), dash); + } + } + println!( - "{:width$}{} {}", + "{:width$} {} {}", line_index + 1, - colors::gray(" |"), + colors::gray(SEPERATOR), colors::red(&lines[line_index]), - width = 4 + width = WIDTH ); + + last_line = Some(line_index); } } } -- cgit v1.2.3