diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/integration/coverage_tests.rs | 69 | ||||
-rw-r--r-- | cli/tests/testdata/coverage/multisource/bar.ts | 7 | ||||
-rw-r--r-- | cli/tests/testdata/coverage/multisource/baz/quux.ts | 7 | ||||
-rw-r--r-- | cli/tests/testdata/coverage/multisource/baz/qux.ts | 7 | ||||
-rw-r--r-- | cli/tests/testdata/coverage/multisource/foo.ts | 7 | ||||
-rw-r--r-- | cli/tests/testdata/coverage/multisource/test.ts | 20 |
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); +}); |