diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2019-07-11 02:26:01 +0200 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-07-10 20:26:01 -0400 |
commit | 963d56fc5e5a410108dcdff083d64c0a762658c0 (patch) | |
tree | aed569487db1d928909ba1e73a34ddcf45bd65c7 | |
parent | d7fa8c3207751259a647c7b90aa5e2591401834a (diff) |
fix for '-' arg after script name (#2631)
-rw-r--r-- | cli/flags.rs | 20 |
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"]); } } |