From 5b65313d48d6ac422e7ed39fbca5e2d032c59b34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boye=20Lillejord-Nyg=C3=A5rd?= <6630430+boyeln@users.noreply.github.com> Date: Tue, 24 Jun 2025 11:27:07 +0200 Subject: [PATCH] fix(coverage): Make output table markdown compatible (#29533) This changes the format of the table outputted by `deno coverage` to be markdown compatible. Related #29532 Closes #29465 --- cli/tools/coverage/reporter.rs | 14 +++++---- tests/integration/coverage_tests.rs | 30 ++++++++----------- tests/specs/coverage/default_reports/main.out | 11 +++---- .../coverage_success.out | 11 +++---- .../filter_doc_testing_urls/test_coverage.out | 11 +++---- tests/specs/coverage/invalid_url/cov.out | 11 +++---- .../cov.out | 11 +++---- .../nested_ignore_comment_warning/cov.out | 11 +++---- .../set_coverage_in_env_var/coverage.out | 11 +++---- .../cov.out | 11 +++---- 10 files changed, 52 insertions(+), 80 deletions(-) diff --git a/cli/tools/coverage/reporter.rs b/cli/tools/coverage/reporter.rs index 8f604149ee..0828e3d4f3 100644 --- a/cli/tools/coverage/reporter.rs +++ b/cli/tools/coverage/reporter.rs @@ -161,7 +161,7 @@ impl SummaryCoverageReporter { }; println!( - " {file_name} | {branch_percent} | {line_percent} |", + "| {file_name} | {branch_percent} | {line_percent} |", file_name = file_name, branch_percent = branch_percent, line_percent = line_percent, @@ -192,17 +192,19 @@ impl CoverageReporter for SummaryCoverageReporter { .max("All files".len()); let header = - format!("{node:node_max$} | Branch % | Line % |", node = "File"); - let separator = "-".repeat(header.len()); - println!("{}", separator); + format!("| {node:node_max$} | Branch % | Line % |", node = "File"); + let separator = format!( + "| {} | {} | {} |", + "-".repeat(node_max), + "-".repeat(8), + "-".repeat(6) + ); println!("{}", header); println!("{}", separator); entries.iter().for_each(|(node, stats)| { self.print_coverage_line(node, node_max, stats); }); - println!("{}", separator); self.print_coverage_line("All files", node_max, root_stats); - println!("{}", separator); } } diff --git a/tests/integration/coverage_tests.rs b/tests/integration/coverage_tests.rs index f3b34f9eea..c379021c13 100644 --- a/tests/integration/coverage_tests.rs +++ b/tests/integration/coverage_tests.rs @@ -615,16 +615,13 @@ fn test_summary_reporter() { output.assert_exit_code(0); output.assert_matches_text( - "---------------------------------- -File | Branch % | Line % | ----------------------------------- - bar.ts | 0.0 | 57.1 | - baz/quux.ts | 0.0 | 28.6 | - baz/qux.ts | 100.0 | 100.0 | - foo.ts | 50.0 | 76.9 | ----------------------------------- - All files | 40.0 | 61.0 | ----------------------------------- + "| File | Branch % | Line % | +| ----------- | -------- | ------ | +| bar.ts | 0.0 | 57.1 | +| baz/quux.ts | 0.0 | 28.6 | +| baz/qux.ts | 100.0 | 100.0 | +| foo.ts | 50.0 | 76.9 | +| All files | 40.0 | 61.0 | ", ); } @@ -642,14 +639,11 @@ File | Branch % | Line % | output.assert_exit_code(0); output.assert_matches_text( - "--------------------------------- -File | Branch % | Line % | ---------------------------------- - baz/qux.ts | 100.0 | 100.0 | - foo.ts | 50.0 | 76.9 | ---------------------------------- - All files | 66.7 | 85.0 | ---------------------------------- + "| File | Branch % | Line % | +| ---------- | -------- | ------ | +| baz/qux.ts | 100.0 | 100.0 | +| foo.ts | 50.0 | 76.9 | +| All files | 66.7 | 85.0 | ", ); } diff --git a/tests/specs/coverage/default_reports/main.out b/tests/specs/coverage/default_reports/main.out index 04fd60cced..cd03e15f11 100644 --- a/tests/specs/coverage/default_reports/main.out +++ b/tests/specs/coverage/default_reports/main.out @@ -7,12 +7,9 @@ file:///[WILDCARD]/source.ts$[WILDCARD].ts ... ok ([WILDCARD]) ok | 2 passed | 0 failed ([WILDCARD]) --------------------------------- -File | Branch % | Line % | --------------------------------- - source.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| source.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | Lcov coverage report has been generated at file://[WILDCARD]/coverage/lcov.info HTML coverage report has been generated at file://[WILDCARD]/coverage/html/index.html diff --git a/tests/specs/coverage/filter_doc_testing_urls/coverage_success.out b/tests/specs/coverage/filter_doc_testing_urls/coverage_success.out index eb55868b09..944f00494a 100644 --- a/tests/specs/coverage/filter_doc_testing_urls/coverage_success.out +++ b/tests/specs/coverage/filter_doc_testing_urls/coverage_success.out @@ -1,7 +1,4 @@ --------------------------------- -File | Branch % | Line % | --------------------------------- - source.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| source.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | diff --git a/tests/specs/coverage/filter_doc_testing_urls/test_coverage.out b/tests/specs/coverage/filter_doc_testing_urls/test_coverage.out index 04fd60cced..cd03e15f11 100644 --- a/tests/specs/coverage/filter_doc_testing_urls/test_coverage.out +++ b/tests/specs/coverage/filter_doc_testing_urls/test_coverage.out @@ -7,12 +7,9 @@ file:///[WILDCARD]/source.ts$[WILDCARD].ts ... ok ([WILDCARD]) ok | 2 passed | 0 failed ([WILDCARD]) --------------------------------- -File | Branch % | Line % | --------------------------------- - source.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| source.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | Lcov coverage report has been generated at file://[WILDCARD]/coverage/lcov.info HTML coverage report has been generated at file://[WILDCARD]/coverage/html/index.html diff --git a/tests/specs/coverage/invalid_url/cov.out b/tests/specs/coverage/invalid_url/cov.out index 1a0a40c042..57a3ed0b2b 100644 --- a/tests/specs/coverage/invalid_url/cov.out +++ b/tests/specs/coverage/invalid_url/cov.out @@ -1,7 +1,4 @@ --------------------------------- -File | Branch % | Line % | --------------------------------- - main.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| main.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | diff --git a/tests/specs/coverage/missing_ignore_start_comment_warning/cov.out b/tests/specs/coverage/missing_ignore_start_comment_warning/cov.out index 99ed8b0b3b..e0bd979999 100644 --- a/tests/specs/coverage/missing_ignore_start_comment_warning/cov.out +++ b/tests/specs/coverage/missing_ignore_start_comment_warning/cov.out @@ -1,8 +1,5 @@ WARNING: deno-coverage-ignore-stop comment with no corresponding deno-coverage-ignore-start comment at file:///[WILDLINE]/main.ts:5:3 will be ignored. --------------------------------- -File | Branch % | Line % | --------------------------------- - main.ts | 0.0 | 40.0 | --------------------------------- - All files | 0.0 | 40.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| main.ts | 0.0 | 40.0 | +| All files | 0.0 | 40.0 | diff --git a/tests/specs/coverage/nested_ignore_comment_warning/cov.out b/tests/specs/coverage/nested_ignore_comment_warning/cov.out index 7b5d1cc178..25686fff2c 100644 --- a/tests/specs/coverage/nested_ignore_comment_warning/cov.out +++ b/tests/specs/coverage/nested_ignore_comment_warning/cov.out @@ -1,8 +1,5 @@ WARNING: Nested deno-coverage-ignore-start comment at file:///[WILDLINE]/main.ts:4:5. A previous deno-coverage-ignore-start comment at file:///[WILDLINE]/main.ts:2:3 is unterminated. --------------------------------- -File | Branch % | Line % | --------------------------------- - main.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| main.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | diff --git a/tests/specs/coverage/set_coverage_in_env_var/coverage.out b/tests/specs/coverage/set_coverage_in_env_var/coverage.out index eb55868b09..944f00494a 100644 --- a/tests/specs/coverage/set_coverage_in_env_var/coverage.out +++ b/tests/specs/coverage/set_coverage_in_env_var/coverage.out @@ -1,7 +1,4 @@ --------------------------------- -File | Branch % | Line % | --------------------------------- - source.ts | 100.0 | 100.0 | --------------------------------- - All files | 100.0 | 100.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| source.ts | 100.0 | 100.0 | +| All files | 100.0 | 100.0 | diff --git a/tests/specs/coverage/unterminated_ignore_comment_warning/cov.out b/tests/specs/coverage/unterminated_ignore_comment_warning/cov.out index 366d52322f..532c172b48 100644 --- a/tests/specs/coverage/unterminated_ignore_comment_warning/cov.out +++ b/tests/specs/coverage/unterminated_ignore_comment_warning/cov.out @@ -1,8 +1,5 @@ WARNING: Unterminated deno-coverage-ignore-start comment at file:///[WILDLINE]/main.ts:2:3 will be ignored. --------------------------------- -File | Branch % | Line % | --------------------------------- - main.ts | 0.0 | 40.0 | --------------------------------- - All files | 0.0 | 40.0 | --------------------------------- +| File | Branch % | Line % | +| --------- | -------- | ------ | +| main.ts | 0.0 | 40.0 | +| All files | 0.0 | 40.0 |