aboutsummaryrefslogtreecommitdiff
path: root/clap/tests/global_args.rs
diff options
context:
space:
mode:
Diffstat (limited to 'clap/tests/global_args.rs')
-rw-r--r--clap/tests/global_args.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/clap/tests/global_args.rs b/clap/tests/global_args.rs
new file mode 100644
index 0000000..4adc685
--- /dev/null
+++ b/clap/tests/global_args.rs
@@ -0,0 +1,37 @@
+extern crate clap;
+extern crate regex;
+
+#[cfg(test)]
+mod tests {
+ include!("../clap-test.rs");
+ use clap::{App, Arg, SubCommand};
+
+ fn get_app() -> App<'static, 'static> {
+ App::new("myprog")
+ .arg(Arg::with_name("GLOBAL_ARG")
+ .long("global-arg")
+ .help(
+ "Specifies something needed by the subcommands",
+ )
+ .global(true)
+ .takes_value(true)
+ .default_value("default_value"))
+ .arg(Arg::with_name("GLOBAL_FLAG")
+ .long("global-flag")
+ .help(
+ "Specifies something needed by the subcommands",
+ )
+ .multiple(true)
+ .global(true))
+ .subcommand(SubCommand::with_name("outer")
+ .subcommand(SubCommand::with_name("inner")))
+ }
+
+ #[test]
+ fn issue_1076() {
+ let mut app = get_app();
+ let _ = app.get_matches_from_safe_borrow(vec!["myprog"]);
+ let _ = app.get_matches_from_safe_borrow(vec!["myprog"]);
+ let _ = app.get_matches_from_safe_borrow(vec!["myprog"]);
+ }
+}