diff options
-rw-r--r-- | cli/flags.rs | 87 |
1 files changed, 54 insertions, 33 deletions
diff --git a/cli/flags.rs b/cli/flags.rs index cba41db57..0bea5d72e 100644 --- a/cli/flags.rs +++ b/cli/flags.rs @@ -2603,23 +2603,26 @@ mod tests { } } - /* TODO(ry) Fix this test #[test] - fn test_flags_from_vec_33() { - let (flags, subcommand, argv) = - flags_from_vec_safe(svec!["deno", "script.ts", "--allow-read", "--allow-net"]); + fn run_with_args() { + let r = flags_from_vec_safe(svec![ + "deno", + "run", + "script.ts", + "--allow-read", + "--allow-net" + ]); assert_eq!( - flags, + r.unwrap(), Flags { - allow_net: true, - allow_read: true, + subcommand: DenoSubcommand::Run { + script: "script.ts".to_string(), + }, + argv: svec!["--allow-read", "--allow-net"], ..Flags::default() } ); - assert_eq!(subcommand, DenoSubcommand::Run); - assert_eq!(argv, svec!["script.ts"]); - - let (flags, subcommand, argv) = flags_from_vec_safe(svec![ + let r = flags_from_vec_safe(svec![ "deno", "run", "--allow-read", @@ -2631,36 +2634,54 @@ mod tests { "bar" ]); assert_eq!( - flags, + r.unwrap(), Flags { - allow_net: true, + subcommand: DenoSubcommand::Run { + script: "script.ts".to_string(), + }, allow_read: true, - reload: true, + argv: svec!["--allow-net", "-r", "--help", "--foo", "bar"], ..Flags::default() } ); - assert_eq!(subcommand, DenoSubcommand::Run); - assert_eq!(argv, svec!["deno", "script.ts", "--help", "--foo", "bar"]); - - let (flags, subcommand, argv) = - flags_from_vec_safe(svec!["deno""script.ts", "foo", "bar"]); - assert_eq!(flags, Flags::default()); - assert_eq!(subcommand, DenoSubcommand::Run); - assert_eq!(argv, svec!["script.ts", "foo", "bar"]); - let (flags, subcommand, argv) = - flags_from_vec_safe(svec!["deno""script.ts", "-"]); - assert_eq!(flags, Flags::default()); - assert_eq!(subcommand, DenoSubcommand::Run); - assert_eq!(argv, svec!["script.ts", "-"]); + let r = + flags_from_vec_safe(svec!["deno", "run", "script.ts", "foo", "bar"]); + assert_eq!( + r.unwrap(), + Flags { + subcommand: DenoSubcommand::Run { + script: "script.ts".to_string(), + }, + argv: svec!["foo", "bar"], + ..Flags::default() + } + ); + let r = flags_from_vec_safe(svec!["deno", "run", "script.ts", "-"]); + assert_eq!( + r.unwrap(), + Flags { + subcommand: DenoSubcommand::Run { + script: "script.ts".to_string(), + }, + argv: svec!["-"], + ..Flags::default() + } + ); - let (flags, subcommand, argv) = - flags_from_vec_safe(svec!["deno""script.ts", "-", "foo", "bar"]); - assert_eq!(flags, Flags::default()); - assert_eq!(subcommand, DenoSubcommand::Run); - assert_eq!(argv, svec!["script.ts", "-", "foo", "bar"]); + let r = + flags_from_vec_safe(svec!["deno", "run", "script.ts", "-", "foo", "bar"]); + assert_eq!( + r.unwrap(), + Flags { + subcommand: DenoSubcommand::Run { + script: "script.ts".to_string(), + }, + argv: svec!["-", "foo", "bar"], + ..Flags::default() + } + ); } - */ #[test] fn no_check() { |