summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-07-11 02:26:01 +0200
committerRyan Dahl <ry@tinyclouds.org>2019-07-10 20:26:01 -0400
commit963d56fc5e5a410108dcdff083d64c0a762658c0 (patch)
treeaed569487db1d928909ba1e73a34ddcf45bd65c7
parentd7fa8c3207751259a647c7b90aa5e2591401834a (diff)
fix for '-' arg after script name (#2631)
-rw-r--r--cli/flags.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/cli/flags.rs b/cli/flags.rs
index b3b70dd8e..704ef1f56 100644
--- a/cli/flags.rs
+++ b/cli/flags.rs
@@ -587,7 +587,7 @@ fn parse_script_args(
continue;
}
- if !arg.starts_with('-') {
+ if !arg.starts_with('-') || arg == "-" {
argv.push(arg.to_string());
continue;
}
@@ -1541,5 +1541,23 @@ mod tests {
);
assert_eq!(subcommand, DenoSubcommand::Run);
assert_eq!(argv, svec!["deno", "script.ts", "--help", "--foo", "bar"]);
+
+ let (flags, subcommand, argv) =
+ flags_from_vec(svec!["deno", "script.ts", "foo", "bar"]);
+ assert_eq!(flags, DenoFlags::default());
+ assert_eq!(subcommand, DenoSubcommand::Run);
+ assert_eq!(argv, svec!["deno", "script.ts", "foo", "bar"]);
+
+ let (flags, subcommand, argv) =
+ flags_from_vec(svec!["deno", "script.ts", "-"]);
+ assert_eq!(flags, DenoFlags::default());
+ assert_eq!(subcommand, DenoSubcommand::Run);
+ assert_eq!(argv, svec!["deno", "script.ts", "-"]);
+
+ let (flags, subcommand, argv) =
+ flags_from_vec(svec!["deno", "script.ts", "-", "foo", "bar"]);
+ assert_eq!(flags, DenoFlags::default());
+ assert_eq!(subcommand, DenoSubcommand::Run);
+ assert_eq!(argv, svec!["deno", "script.ts", "-", "foo", "bar"]);
}
}