summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/js/util.ts2
-rw-r--r--cli/tests/integration_tests.rs36
-rw-r--r--cli/tests/subdir/single_module.ts2
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 {};