summaryrefslogtreecommitdiff
path: root/cli/args
diff options
context:
space:
mode:
Diffstat (limited to 'cli/args')
-rw-r--r--cli/args/flags.rs30
1 files changed, 29 insertions, 1 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs
index 79ee38d75..691927353 100644
--- a/cli/args/flags.rs
+++ b/cli/args/flags.rs
@@ -4738,7 +4738,10 @@ fn serve_parse(
format!("{host}:{port}")
}])?;
match &mut flags.permissions.allow_net {
- None => flags.permissions.allow_net = Some(allowed),
+ None if !flags.permissions.allow_all => {
+ flags.permissions.allow_net = Some(allowed)
+ }
+ None => {}
Some(v) => {
if !v.is_empty() {
v.extend(allowed);
@@ -10748,6 +10751,31 @@ mod tests {
}
#[test]
+ fn serve_with_allow_all() {
+ let r = flags_from_vec(svec!["deno", "serve", "--allow-all", "./main.ts"]);
+ let flags = r.unwrap();
+ assert_eq!(
+ &flags,
+ &Flags {
+ subcommand: DenoSubcommand::Serve(ServeFlags::new_default(
+ "./main.ts".into(),
+ 8000,
+ "0.0.0.0"
+ )),
+ permissions: PermissionFlags {
+ allow_all: true,
+ allow_net: None,
+ ..Default::default()
+ },
+ code_cache_enabled: true,
+ ..Default::default()
+ }
+ );
+ // just make sure this doesn't panic
+ let _ = flags.permissions.to_options();
+ }
+
+ #[test]
fn escape_and_split_commas_test() {
assert_eq!(escape_and_split_commas("foo".to_string()).unwrap(), ["foo"]);
assert!(escape_and_split_commas("foo,".to_string()).is_err());