diff options
author | Valentin Anger <syrupthinker@gryphno.de> | 2020-11-24 22:26:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-24 22:26:38 +0100 |
commit | 605874ee98b52f5de7d1d1284507d5a9cb9eea9d (patch) | |
tree | ab470ecd4e2664d040a70365a640c124c5702c53 | |
parent | 355d5d3bba1ddcd6a11c786f8aee2b349538e048 (diff) |
feat(test): horizontal separator between disjoint runs of lines (#8484)
Places a newline between non-consecutive line block in coverage
report to improve readability.
-rw-r--r-- | cli/tests/test_coverage.out | 14 | ||||
-rw-r--r-- | cli/tests/test_coverage.ts | 6 | ||||
-rw-r--r-- | cli/tools/coverage.rs | 20 |
3 files changed, 26 insertions, 14 deletions
diff --git a/cli/tests/test_coverage.out b/cli/tests/test_coverage.out index fc24d82d1..a4b37e4de 100644 --- a/cli/tests/test_coverage.out +++ b/cli/tests/test_coverage.out @@ -1,23 +1,21 @@ Check [WILDCARD]/$deno$test.ts running 1 tests -test returnsHiSuccess ... ok ([WILDCARD]) +test returnsFooSuccess ... ok ([WILDCARD]) test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out ([WILDCARD]) cover [WILDCARD]/cli/tests/subdir/mod1.ts ... 35.714% (5/14) - 5 | export function returnsFoo2() { - 6 | return returnsFoo(); - 7 | } + 2 | export function returnsHi() { + 3 | return "Hi"; + 4 | } +-----|----- 8 | export function printHello3() { 9 | printHello2(); 10 | } 11 | export function throwsError() { 12 | throw Error("exception from mod1"); 13 | } -cover [WILDCARD]/cli/tests/subdir/subdir2/mod2.ts ... 25.000% (2/8) - 2 | export function returnsFoo() { - 3 | return "Foo"; - 4 | } +cover [WILDCARD]/cli/tests/subdir/subdir2/mod2.ts ... 62.500% (5/8) 5 | export function printHello2() { 6 | printHello(); 7 | } diff --git a/cli/tests/test_coverage.ts b/cli/tests/test_coverage.ts index 72844422f..0c576d612 100644 --- a/cli/tests/test_coverage.ts +++ b/cli/tests/test_coverage.ts @@ -1,5 +1,5 @@ -import { returnsHi } from "./subdir/mod1.ts"; +import { returnsFoo2 } from "./subdir/mod1.ts"; -Deno.test("returnsHiSuccess", function () { - returnsHi(); +Deno.test("returnsFooSuccess", function () { + returnsFoo2(); }); 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); } } } |