1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00

fix deno install (#2529)

This commit is contained in:
Bartek Iwańczuk 2019-06-15 16:08:11 +02:00 committed by Ryan Dahl
parent 77737707e4
commit 061f6dd483

View file

@ -621,13 +621,14 @@ pub fn flags_from_vec(
match install_match.subcommand() { match install_match.subcommand() {
(script_url, Some(script_match)) => { (script_url, Some(script_match)) => {
argv.extend(vec![exe_name.to_string(), script_url.to_string()]); argv.extend(vec![exe_name.to_string(), script_url.to_string()]);
let flags: Vec<String> = script_match if script_match.is_present("") {
.values_of("") let flags: Vec<String> = script_match
.unwrap() .values_of("")
.map(String::from) .unwrap()
.collect(); .map(String::from)
argv.extend(flags); .collect();
argv.extend(flags);
}
DenoSubcommand::Install DenoSubcommand::Install
} }
_ => unreachable!(), _ => unreachable!(),
@ -1235,7 +1236,7 @@ mod tests {
} }
); );
assert_eq!(subcommand, DenoSubcommand::Run); assert_eq!(subcommand, DenoSubcommand::Run);
assert_eq!(argv, svec!["deno", "script.ts"]) assert_eq!(argv, svec!["deno", "script.ts"]);
} }
#[test] #[test]
@ -1257,6 +1258,69 @@ mod tests {
} }
); );
assert_eq!(subcommand, DenoSubcommand::Run); assert_eq!(subcommand, DenoSubcommand::Run);
assert_eq!(argv, svec!["deno", "script.ts"]) assert_eq!(argv, svec!["deno", "script.ts"]);
}
#[test]
fn test_flags_from_vec_30() {
let (flags, subcommand, argv) = flags_from_vec(svec![
"deno",
"install",
"deno_colors",
"https://deno.land/std/examples/colors.ts"
]);
assert_eq!(
flags,
DenoFlags {
allow_write: true,
allow_net: true,
allow_read: true,
allow_env: true,
allow_run: true,
..DenoFlags::default()
}
);
assert_eq!(subcommand, DenoSubcommand::Install);
assert_eq!(
argv,
svec![
"deno",
INSTALLER_URL,
"deno_colors",
"https://deno.land/std/examples/colors.ts"
]
);
let (flags, subcommand, argv) = flags_from_vec(svec![
"deno",
"install",
"file_server",
"https://deno.land/std/http/file_server.ts",
"--allow-net",
"--allow-read"
]);
assert_eq!(
flags,
DenoFlags {
allow_write: true,
allow_net: true,
allow_read: true,
allow_env: true,
allow_run: true,
..DenoFlags::default()
}
);
assert_eq!(subcommand, DenoSubcommand::Install);
assert_eq!(
argv,
svec![
"deno",
INSTALLER_URL,
"file_server",
"https://deno.land/std/http/file_server.ts",
"--allow-net",
"--allow-read"
]
);
} }
} }