diff options
-rw-r--r-- | cli/js/util.ts | 2 | ||||
-rw-r--r-- | cli/tests/integration_tests.rs | 36 | ||||
-rw-r--r-- | cli/tests/subdir/single_module.ts | 2 |
3 files changed, 39 insertions, 1 deletions
diff --git a/cli/js/util.ts b/cli/js/util.ts index e779fb5d7..faf4c99c6 100644 --- a/cli/js/util.ts +++ b/cli/js/util.ts @@ -306,7 +306,7 @@ export function normalizeString( export function commonPath(paths: string[], sep = "/"): string { const [first = "", ...remaining] = paths; if (first === "" || remaining.length === 0) { - return ""; + return first.substring(0, first.lastIndexOf(sep) + 1); } const parts = first.split(sep); diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs index bfe5794f5..251c6da3c 100644 --- a/cli/tests/integration_tests.rs +++ b/cli/tests/integration_tests.rs @@ -290,6 +290,42 @@ fn bundle_circular() { assert_eq!(output.stderr, b""); } +#[test] +fn bundle_single_module() { + use tempfile::TempDir; + + // First we have to generate a bundle of some module that has exports. + let single_module = + util::root_path().join("cli/tests/subdir/single_module.ts"); + assert!(single_module.is_file()); + let t = TempDir::new().expect("tempdir fail"); + let bundle = t.path().join("single_module.bundle.js"); + let mut deno = util::deno_cmd() + .current_dir(util::root_path()) + .arg("bundle") + .arg(single_module) + .arg(&bundle) + .spawn() + .expect("failed to spawn script"); + let status = deno.wait().expect("failed to wait for the child process"); + assert!(status.success()); + assert!(bundle.is_file()); + + let output = util::deno_cmd() + .current_dir(util::root_path()) + .arg("run") + .arg("--reload") + .arg(&bundle) + .output() + .expect("failed to spawn script"); + // check the output of the the bundle program. + assert!(std::str::from_utf8(&output.stdout) + .unwrap() + .trim() + .ends_with("Hello world!")); + assert_eq!(output.stderr, b""); +} + // TODO(#2933): Rewrite this test in rust. #[test] fn repl_test() { diff --git a/cli/tests/subdir/single_module.ts b/cli/tests/subdir/single_module.ts new file mode 100644 index 000000000..1cd2cd781 --- /dev/null +++ b/cli/tests/subdir/single_module.ts @@ -0,0 +1,2 @@ +console.log("Hello world!"); +export {}; |