summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/coverage_tests.rs69
-rw-r--r--cli/tests/testdata/coverage/multisource/bar.ts7
-rw-r--r--cli/tests/testdata/coverage/multisource/baz/quux.ts7
-rw-r--r--cli/tests/testdata/coverage/multisource/baz/qux.ts7
-rw-r--r--cli/tests/testdata/coverage/multisource/foo.ts7
-rw-r--r--cli/tests/testdata/coverage/multisource/test.ts20
6 files changed, 117 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>"));
+}
diff --git a/cli/tests/testdata/coverage/multisource/bar.ts b/cli/tests/testdata/coverage/multisource/bar.ts
new file mode 100644
index 000000000..1bb10a0a6
--- /dev/null
+++ b/cli/tests/testdata/coverage/multisource/bar.ts
@@ -0,0 +1,7 @@
+export function bar(cond: boolean) {
+ if (cond) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
diff --git a/cli/tests/testdata/coverage/multisource/baz/quux.ts b/cli/tests/testdata/coverage/multisource/baz/quux.ts
new file mode 100644
index 000000000..ab8c62db6
--- /dev/null
+++ b/cli/tests/testdata/coverage/multisource/baz/quux.ts
@@ -0,0 +1,7 @@
+export function quux(cond: boolean) {
+ if (cond) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
diff --git a/cli/tests/testdata/coverage/multisource/baz/qux.ts b/cli/tests/testdata/coverage/multisource/baz/qux.ts
new file mode 100644
index 000000000..973f48c61
--- /dev/null
+++ b/cli/tests/testdata/coverage/multisource/baz/qux.ts
@@ -0,0 +1,7 @@
+export function qux(cond: boolean) {
+ if (cond) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
diff --git a/cli/tests/testdata/coverage/multisource/foo.ts b/cli/tests/testdata/coverage/multisource/foo.ts
new file mode 100644
index 000000000..023f82556
--- /dev/null
+++ b/cli/tests/testdata/coverage/multisource/foo.ts
@@ -0,0 +1,7 @@
+export function foo(cond: boolean) {
+ if (cond) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
diff --git a/cli/tests/testdata/coverage/multisource/test.ts b/cli/tests/testdata/coverage/multisource/test.ts
new file mode 100644
index 000000000..6adf6f52c
--- /dev/null
+++ b/cli/tests/testdata/coverage/multisource/test.ts
@@ -0,0 +1,20 @@
+import { foo } from "./foo.ts";
+import { bar } from "./bar.ts";
+import { qux } from "./baz/qux.ts";
+import { quux } from "./baz/quux.ts";
+
+Deno.test("foo", () => {
+ foo(true);
+});
+
+Deno.test("bar", () => {
+ bar(false);
+});
+
+Deno.test("qux", () => {
+ qux(true);
+});
+
+Deno.test("quux", () => {
+ quux(false);
+});