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:
parent
77737707e4
commit
061f6dd483
1 changed files with 73 additions and 9 deletions
82
cli/flags.rs
82
cli/flags.rs
|
@ -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"
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue