From 963d56fc5e5a410108dcdff083d64c0a762658c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Thu, 11 Jul 2019 02:26:01 +0200 Subject: fix for '-' arg after script name (#2631) --- cli/flags.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'cli') 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"]); } } -- cgit v1.2.3