1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

fix(coverage): add tooltip to line count in html report (#23971)

closes #21582
This commit is contained in:
Yoshiya Hinosawa 2024-05-26 13:22:57 +09:00 committed by GitHub
parent 16ed81f62c
commit 0ef1c774f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 1 deletions

View file

@ -644,7 +644,7 @@ impl HtmlCoverageReporter {
if *count == 0 { if *count == 0 {
"<span class='cline-any cline-no'>&nbsp</span>".to_string() "<span class='cline-any cline-no'>&nbsp</span>".to_string()
} else { } else {
format!("<span class='cline-any cline-yes'>x{count}</span>") format!("<span class='cline-any cline-yes' title='This line is covered {count} time{}'>x{count}</span>", if *count > 1 { "s" } else { "" })
} }
} else { } else {
"<span class='cline-any cline-neutral'>&nbsp</span>".to_string() "<span class='cline-any cline-neutral'>&nbsp</span>".to_string()

View file

@ -441,6 +441,12 @@ fn no_internal_node_code() {
#[test] #[test]
fn test_html_reporter() { fn test_html_reporter() {
// This test case generates a html coverage report of test cases in /tests/testdata/coverage/multisource
// You can get the same reports in ./cov_html by running the following command:
// ```
// ./target/debug/deno test --coverage=cov_html tests/testdata/coverage/multisource
// ./target/debug/deno coverage --html cov_html
// ```
let context = TestContext::default(); let context = TestContext::default();
let tempdir = context.temp_dir(); let tempdir = context.temp_dir();
let tempdir = tempdir.path().join("cov"); let tempdir = tempdir.path().join("cov");
@ -481,6 +487,9 @@ fn test_html_reporter() {
let foo_ts_html = tempdir.join("html").join("foo.ts.html").read_to_string(); let foo_ts_html = tempdir.join("html").join("foo.ts.html").read_to_string();
assert_contains!(foo_ts_html, "<h1>Coverage report for foo.ts</h1>"); assert_contains!(foo_ts_html, "<h1>Coverage report for foo.ts</h1>");
// Check that line count has correct title attribute
assert_contains!(foo_ts_html, "<span class='cline-any cline-yes' title='This line is covered 1 time'>x1</span>");
assert_contains!(foo_ts_html, "<span class='cline-any cline-yes' title='This line is covered 3 times'>x3</span>");
let bar_ts_html = tempdir.join("html").join("bar.ts.html").read_to_string(); let bar_ts_html = tempdir.join("html").join("bar.ts.html").read_to_string();
assert_contains!(bar_ts_html, "<h1>Coverage report for bar.ts</h1>"); assert_contains!(bar_ts_html, "<h1>Coverage report for bar.ts</h1>");