From e9cc8a2b53ee43289ab964539cca4753e700b6c3 Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Tue, 28 May 2024 20:25:46 +0900 Subject: fix(coverage): skip generating coverage json for http(s) scripts (#24008) closes #21784 --- tests/integration/coverage_tests.rs | 33 ++++++++++++++++++++++ .../coverage/no_http_coverage_data_test.ts | 5 ++++ 2 files changed, 38 insertions(+) create mode 100644 tests/testdata/coverage/no_http_coverage_data_test.ts (limited to 'tests') diff --git a/tests/integration/coverage_tests.rs b/tests/integration/coverage_tests.rs index c1e5055da..51b82af07 100644 --- a/tests/integration/coverage_tests.rs +++ b/tests/integration/coverage_tests.rs @@ -439,6 +439,39 @@ fn no_internal_node_code() { } } +#[test] +fn no_http_coverage_data() { + let _http_server_guard = test_util::http_server(); + 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(), + "--no-check".to_string(), + format!("--coverage={}", tempdir), + "coverage/no_http_coverage_data_test.ts".to_string(), + ]) + .run(); + + output.assert_exit_code(0); + output.skip_output_check(); + + // Check that coverage files contain no http urls + let paths = tempdir.read_dir(); + for path in paths { + let unwrapped = PathRef::new(path.unwrap().path()); + let data = unwrapped.read_to_string(); + + let value: serde_json::Value = serde_json::from_str(&data).unwrap(); + let url = value["url"].as_str().unwrap(); + assert_starts_with!(url, "file:"); + } +} + #[test] fn test_html_reporter() { // This test case generates a html coverage report of test cases in /tests/testdata/coverage/multisource diff --git a/tests/testdata/coverage/no_http_coverage_data_test.ts b/tests/testdata/coverage/no_http_coverage_data_test.ts new file mode 100644 index 000000000..c196e9aba --- /dev/null +++ b/tests/testdata/coverage/no_http_coverage_data_test.ts @@ -0,0 +1,5 @@ +import "http://localhost:4546/run/001_hello.js"; + +Deno.test("hello", () => { + console.log("hello"); +}); -- cgit v1.2.3