From eeee71eb53947febc9c879d9337e231e3bb73379 Mon Sep 17 00:00:00 2001 From: Kevin K Date: Tue, 26 Jan 2016 10:14:27 -0500 Subject: [PATCH] tests: adds tests for different value delimiters --- tests/multiple_values.rs | 40 +++++++++++++++++++++++++++++++++++++++ tests/posix_compatible.rs | 36 +++++++++++++++++------------------ 2 files changed, 58 insertions(+), 18 deletions(-) diff --git a/tests/multiple_values.rs b/tests/multiple_values.rs index 8b89b1ba40d0..e8b515ff8cbb 100644 --- a/tests/multiple_values.rs +++ b/tests/multiple_values.rs @@ -542,3 +542,43 @@ fn multiple_values_sep_positional() { assert_eq!(m.occurrences_of("option"), 1); assert_eq!(m.values_of("option").unwrap().collect::>(), ["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::>(), ["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::>(), ["val1", "val2", "val3"]); +} diff --git a/tests/posix_compatible.rs b/tests/posix_compatible.rs index d81ce8df6cc5..060bc5f74317 100644 --- a/tests/posix_compatible.rs +++ b/tests/posix_compatible.rs @@ -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();