mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 14:52:33 +00:00
tests: short_flag_alias
methods
Tests that cover all methods for `short_flag_alias` corresponding methods
This commit is contained in:
parent
acb2f755f8
commit
383606e099
1 changed files with 135 additions and 2 deletions
|
@ -84,8 +84,8 @@ fn flag_subcommand_short_with_alias() {
|
|||
.long("test")
|
||||
.about("testing testing"),
|
||||
)
|
||||
.alias("M")
|
||||
.alias("B"),
|
||||
.short_flag_alias('M')
|
||||
.short_flag_alias('B'),
|
||||
)
|
||||
.get_matches_from(vec!["myprog", "-Bt"]);
|
||||
assert_eq!(matches.subcommand_name().unwrap(), "some");
|
||||
|
@ -93,6 +93,89 @@ fn flag_subcommand_short_with_alias() {
|
|||
assert!(sub_matches.is_present("test"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn flag_subcommand_short_with_aliases_vis_and_hidden() {
|
||||
let app = App::new("test").subcommand(
|
||||
App::new("some")
|
||||
.short_flag('S')
|
||||
.arg(
|
||||
Arg::new("test")
|
||||
.short('t')
|
||||
.long("test")
|
||||
.about("testing testing"),
|
||||
)
|
||||
.visible_short_flag_aliases(&['M', 'B'])
|
||||
.short_flag_alias('C'),
|
||||
);
|
||||
let app1 = app.clone();
|
||||
let matches1 = app1.get_matches_from(vec!["test", "-M"]);
|
||||
assert_eq!(matches1.subcommand_name().unwrap(), "some");
|
||||
|
||||
let app2 = app.clone();
|
||||
let matches2 = app2.get_matches_from(vec!["test", "-C"]);
|
||||
assert_eq!(matches2.subcommand_name().unwrap(), "some");
|
||||
|
||||
let app3 = app.clone();
|
||||
let matches3 = app3.get_matches_from(vec!["test", "-B"]);
|
||||
assert_eq!(matches3.subcommand_name().unwrap(), "some");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn flag_subcommand_short_with_aliases() {
|
||||
let matches = App::new("test")
|
||||
.subcommand(
|
||||
App::new("some")
|
||||
.short_flag('S')
|
||||
.arg(
|
||||
Arg::new("test")
|
||||
.short('t')
|
||||
.long("test")
|
||||
.about("testing testing"),
|
||||
)
|
||||
.short_flag_aliases(&['M', 'B']),
|
||||
)
|
||||
.get_matches_from(vec!["myprog", "-Bt"]);
|
||||
assert_eq!(matches.subcommand_name().unwrap(), "some");
|
||||
let sub_matches = matches.subcommand_matches("some").unwrap();
|
||||
assert!(sub_matches.is_present("test"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
fn flag_subcommand_short_with_alias_hyphen() {
|
||||
let _ = App::new("test")
|
||||
.subcommand(
|
||||
App::new("some")
|
||||
.short_flag('S')
|
||||
.arg(
|
||||
Arg::new("test")
|
||||
.short('t')
|
||||
.long("test")
|
||||
.about("testing testing"),
|
||||
)
|
||||
.short_flag_alias('-'),
|
||||
)
|
||||
.get_matches_from(vec!["myprog", "-Bt"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[should_panic]
|
||||
fn flag_subcommand_short_with_aliases_hyphen() {
|
||||
let _ = App::new("test")
|
||||
.subcommand(
|
||||
App::new("some")
|
||||
.short_flag('S')
|
||||
.arg(
|
||||
Arg::new("test")
|
||||
.short('t')
|
||||
.long("test")
|
||||
.about("testing testing"),
|
||||
)
|
||||
.short_flag_aliases(&['-', '-', '-']),
|
||||
)
|
||||
.get_matches_from(vec!["myprog", "-Bt"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn flag_subcommand_long() {
|
||||
let matches = App::new("test")
|
||||
|
@ -157,3 +240,53 @@ fn flag_subcommand_multiple() {
|
|||
assert!(result_matches.is_present("flag"));
|
||||
assert!(result_matches.is_present("print"));
|
||||
}
|
||||
|
||||
// #[test]
|
||||
// #[should_panic]
|
||||
// fn flag_subcommand_short_conflict_with_arg() {
|
||||
// let matches = App::new("test")
|
||||
// .subcommand(
|
||||
// App::new("some")
|
||||
// .short_flag('f')
|
||||
// .long_flag("some")
|
||||
// .arg(Arg::from("-f, --flag 'some flag'")),
|
||||
// )
|
||||
// .get_matches_from(vec!["myprog", "-ff"]);
|
||||
// }
|
||||
|
||||
// #[test]
|
||||
// #[should_panic]
|
||||
// fn flag_subcommand_long_conflict_with_arg() {
|
||||
// let matches = App::new("test")
|
||||
// .subcommand(
|
||||
// App::new("some")
|
||||
// .short_flag('a')
|
||||
// .long_flag("flag")
|
||||
// .arg(Arg::from("-f, --flag 'some flag'")),
|
||||
// )
|
||||
// .get_matches_from(vec!["myprog", "--flag", "--flag"]);
|
||||
// }
|
||||
|
||||
// #[test]
|
||||
// fn flag_subcommand_conflict_with_help() {
|
||||
// let matches = App::new("test")
|
||||
// .subcommand(
|
||||
// App::new("halp")
|
||||
// .short_flag('h')
|
||||
// .long_flag("help")
|
||||
// .arg(Arg::from("-f, --flag 'some flag'")),
|
||||
// )
|
||||
// .get_matches_from(vec!["myprog", "--help"]);
|
||||
// }
|
||||
|
||||
// #[test]
|
||||
// fn flag_subcommand_conflict_with_version() {
|
||||
// let matches = App::new("test")
|
||||
// .subcommand(
|
||||
// App::new("ver")
|
||||
// .short_flag('V')
|
||||
// .long_flag("version")
|
||||
// .arg(Arg::from("-f, --flag 'some flag'")),
|
||||
// )
|
||||
// .get_matches_from(vec!["myprog", "--version"]);
|
||||
// }
|
||||
|
|
Loading…
Reference in a new issue