summaryrefslogtreecommitdiff
path: root/cli/tests/integration/coverage_tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/integration/coverage_tests.rs')
-rw-r--r--cli/tests/integration/coverage_tests.rs69
1 files changed, 69 insertions, 0 deletions
diff --git a/cli/tests/integration/coverage_tests.rs b/cli/tests/integration/coverage_tests.rs
index d8a11a624..3317020fb 100644
--- a/cli/tests/integration/coverage_tests.rs
+++ b/cli/tests/integration/coverage_tests.rs
@@ -504,3 +504,72 @@ fn no_internal_node_code() {
assert_starts_with!(url, "file:");
}
}
+
+#[test]
+fn test_html_reporter() {
+ let context = TestContext::default();
+ let tempdir = context.temp_dir();
+ let tempdir = tempdir.path().join("cov");
+
+ let output = context
+ .new_command()
+ .args_vec(vec![
+ "test".to_string(),
+ "--quiet".to_string(),
+ format!("--coverage={}", tempdir),
+ "coverage/multisource".to_string(),
+ ])
+ .run();
+
+ output.assert_exit_code(0);
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
+ .args_vec(vec![
+ "coverage".to_string(),
+ "--html".to_string(),
+ format!("{}/", tempdir),
+ ])
+ .run();
+
+ output.assert_exit_code(0);
+ output.assert_matches_text("HTML coverage report has been generated at [WILDCARD]/cov/html/index.html\n");
+
+ let index_html =
+ fs::read_to_string(tempdir.join("html").join("index.html")).unwrap();
+ assert!(index_html.contains("<h1>Coverage report for all files</h1>"));
+ assert!(index_html.contains("baz/"));
+ assert!(index_html.contains("href='baz/index.html'"));
+ assert!(index_html.contains("foo.ts"));
+ assert!(index_html.contains("href='foo.ts.html'"));
+ assert!(index_html.contains("bar.ts"));
+ assert!(index_html.contains("href='bar.ts.html'"));
+
+ let foo_ts_html =
+ fs::read_to_string(tempdir.join("html").join("foo.ts.html")).unwrap();
+ assert!(foo_ts_html.contains("<h1>Coverage report for foo.ts</h1>"));
+
+ let bar_ts_html =
+ fs::read_to_string(tempdir.join("html").join("bar.ts.html")).unwrap();
+ assert!(bar_ts_html.contains("<h1>Coverage report for bar.ts</h1>"));
+
+ let baz_index_html =
+ fs::read_to_string(tempdir.join("html").join("baz").join("index.html"))
+ .unwrap();
+ assert!(baz_index_html.contains("<h1>Coverage report for baz/</h1>"));
+ assert!(baz_index_html.contains("qux.ts"));
+ assert!(baz_index_html.contains("href='qux.ts.html'"));
+ assert!(baz_index_html.contains("quux.ts"));
+ assert!(baz_index_html.contains("href='quux.ts.html'"));
+
+ let baz_qux_ts_html =
+ fs::read_to_string(tempdir.join("html").join("baz").join("qux.ts.html"))
+ .unwrap();
+ assert!(baz_qux_ts_html.contains("<h1>Coverage report for baz/qux.ts</h1>"));
+
+ let baz_quux_ts_html =
+ fs::read_to_string(tempdir.join("html").join("baz").join("quux.ts.html"))
+ .unwrap();
+ assert!(baz_quux_ts_html.contains("<h1>Coverage report for baz/quux.ts</h1>"));
+}