mirror of
https://github.com/clap-rs/clap
synced 2025-03-04 15:27:16 +00:00
tests: adds tests for different value delimiters
This commit is contained in:
parent
0871145245
commit
7b0ff38fe7
2 changed files with 58 additions and 18 deletions
|
@ -542,3 +542,43 @@ fn multiple_values_sep_positional() {
|
|||
assert_eq!(m.occurrences_of("option"), 1);
|
||||
assert_eq!(m.values_of("option").unwrap().collect::<Vec<_>>(), ["val1", "val2", "val3"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn multiple_values_different_sep() {
|
||||
let m = App::new("multiple_values")
|
||||
.arg(Arg::with_name("option")
|
||||
.long("option")
|
||||
.help("multiple options")
|
||||
.takes_value(true)
|
||||
.value_delimiter(";"))
|
||||
.get_matches_from_safe(vec![
|
||||
"",
|
||||
"--option=val1;val2;val3",
|
||||
]);
|
||||
|
||||
assert!(m.is_ok());
|
||||
let m = m.unwrap();
|
||||
|
||||
assert!(m.is_present("option"));
|
||||
assert_eq!(m.occurrences_of("option"), 1);
|
||||
assert_eq!(m.values_of("option").unwrap().collect::<Vec<_>>(), ["val1", "val2", "val3"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn multiple_values_different_sep_positional() {
|
||||
let m = App::new("multiple_values")
|
||||
.arg(Arg::with_name("option")
|
||||
.help("multiple options")
|
||||
.value_delimiter(";"))
|
||||
.get_matches_from_safe(vec![
|
||||
"",
|
||||
"val1;val2;val3",
|
||||
]);
|
||||
|
||||
assert!(m.is_ok());
|
||||
let m = m.unwrap();
|
||||
|
||||
assert!(m.is_present("option"));
|
||||
assert_eq!(m.occurrences_of("option"), 1);
|
||||
assert_eq!(m.values_of("option").unwrap().collect::<Vec<_>>(), ["val1", "val2", "val3"]);
|
||||
}
|
||||
|
|
|
@ -5,14 +5,14 @@ use clap::{App, Arg, ErrorKind};
|
|||
#[test]
|
||||
fn posix_compatible_flags_long() {
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--flag", "--color"]);
|
||||
assert!(m.is_present("color"));
|
||||
assert!(!m.is_present("flag"));
|
||||
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--color", "--flag"]);
|
||||
assert!(!m.is_present("color"));
|
||||
|
@ -22,14 +22,14 @@ fn posix_compatible_flags_long() {
|
|||
#[test]
|
||||
fn posix_compatible_flags_short() {
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("-f, --flag 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("-f, --flag 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("-c, --color 'some other flag'"))
|
||||
.get_matches_from(vec!["", "-f", "-c"]);
|
||||
assert!(m.is_present("color"));
|
||||
assert!(!m.is_present("flag"));
|
||||
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("-f, --flag 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("-f, --flag 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("-c, --color 'some other flag'"))
|
||||
.get_matches_from(vec!["", "-c", "-f"]);
|
||||
assert!(!m.is_present("color"));
|
||||
|
@ -39,7 +39,7 @@ fn posix_compatible_flags_short() {
|
|||
#[test]
|
||||
fn posix_compatible_opts_long() {
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--flag", "some" ,"--color", "other"]);
|
||||
assert!(m.is_present("color"));
|
||||
|
@ -47,7 +47,7 @@ fn posix_compatible_opts_long() {
|
|||
assert!(!m.is_present("flag"));
|
||||
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--color", "some" ,"--flag", "other"]);
|
||||
assert!(!m.is_present("color"));
|
||||
|
@ -58,7 +58,7 @@ fn posix_compatible_opts_long() {
|
|||
#[test]
|
||||
fn posix_compatible_opts_long_equals() {
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--flag=some" ,"--color=other"]);
|
||||
assert!(m.is_present("color"));
|
||||
|
@ -66,7 +66,7 @@ fn posix_compatible_opts_long_equals() {
|
|||
assert!(!m.is_present("flag"));
|
||||
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").mutually_overrides_with("color"))
|
||||
.arg(Arg::from_usage("--flag [flag] 'some flag'").overrides_with("color"))
|
||||
.arg(Arg::from_usage("--color [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "--color=some" ,"--flag=other"]);
|
||||
assert!(!m.is_present("color"));
|
||||
|
@ -77,7 +77,7 @@ fn posix_compatible_opts_long_equals() {
|
|||
#[test]
|
||||
fn posix_compatible_opts_short() {
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("-f [flag] 'some flag'").mutually_overrides_with("c"))
|
||||
.arg(Arg::from_usage("-f [flag] 'some flag'").overrides_with("c"))
|
||||
.arg(Arg::from_usage("-c [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "-f", "some", "-c", "other"]);
|
||||
assert!(m.is_present("c"));
|
||||
|
@ -85,7 +85,7 @@ fn posix_compatible_opts_short() {
|
|||
assert!(!m.is_present("f"));
|
||||
|
||||
let m = App::new("posix")
|
||||
.arg(Arg::from_usage("-f [flag] 'some flag'").mutually_overrides_with("c"))
|
||||
.arg(Arg::from_usage("-f [flag] 'some flag'").overrides_with("c"))
|
||||
.arg(Arg::from_usage("-c [color] 'some other flag'"))
|
||||
.get_matches_from(vec!["", "-c", "some", "-f", "other"]);
|
||||
assert!(!m.is_present("c"));
|
||||
|
@ -100,7 +100,7 @@ fn conflict_overriden() {
|
|||
.conflicts_with("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from(vec!["", "-f", "-c", "-d"]);
|
||||
assert!(m.is_present("color"));
|
||||
assert!(!m.is_present("flag"));
|
||||
|
@ -114,7 +114,7 @@ fn conflict_overriden_2() {
|
|||
.conflicts_with("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from_safe(vec!["", "-f", "-d", "-c"]);
|
||||
assert!(result.is_ok());
|
||||
let m = result.unwrap();
|
||||
|
@ -130,7 +130,7 @@ fn conflict_overriden_3() {
|
|||
.conflicts_with("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from_safe(vec!["", "-d", "-c", "-f"]);
|
||||
assert!(result.is_err());
|
||||
let err = result.err().unwrap();
|
||||
|
@ -144,7 +144,7 @@ fn conflict_overriden_4() {
|
|||
.conflicts_with("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from(vec!["", "-d", "-f", "-c"]);
|
||||
assert!(m.is_present("color"));
|
||||
assert!(!m.is_present("flag"));
|
||||
|
@ -158,7 +158,7 @@ fn pos_required_overridden_by_flag() {
|
|||
.index(1)
|
||||
.required(true))
|
||||
.arg(Arg::from_usage("-c, --color 'some flag'")
|
||||
.mutually_overrides_with("pos"))
|
||||
.overrides_with("pos"))
|
||||
.get_matches_from_safe(vec!["", "test", "-c"]);
|
||||
assert!(result.is_ok(), "{:?}", result.unwrap_err());
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ fn require_overriden_2() {
|
|||
.index(1)
|
||||
.required(true))
|
||||
.arg(Arg::from_usage("-c, --color 'other flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from(vec!["", "-c", "flag"]);
|
||||
assert!(!m.is_present("color"));
|
||||
assert!(m.is_present("flag"));
|
||||
|
@ -183,7 +183,7 @@ fn require_overriden_3() {
|
|||
.requires("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from(vec!["", "-f", "-c"]);
|
||||
assert!(m.is_present("color"));
|
||||
assert!(!m.is_present("flag"));
|
||||
|
@ -197,7 +197,7 @@ fn require_overriden_4() {
|
|||
.requires("debug"))
|
||||
.arg(Arg::from_usage("-d, --debug 'other flag'"))
|
||||
.arg(Arg::from_usage("-c, --color 'third flag'")
|
||||
.mutually_overrides_with("flag"))
|
||||
.overrides_with("flag"))
|
||||
.get_matches_from_safe(vec!["", "-c", "-f"]);
|
||||
assert!(result.is_err());
|
||||
let err = result.err().unwrap();
|
||||
|
|
Loading…
Add table
Reference in a new issue