From 3019a685eee747ccbe6be09ad5dddce0b1d1d4db Mon Sep 17 00:00:00 2001 From: panicbit Date: Sun, 10 Apr 2016 02:46:51 +0200 Subject: [PATCH 1/2] Fix off-by-one-error in ArgGroup printing --- src/app/parser.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/parser.rs b/src/app/parser.rs index 5a6edc67db19..3812c2035a61 100644 --- a/src/app/parser.rs +++ b/src/app/parser.rs @@ -334,7 +334,7 @@ impl<'a, 'b> Parser<'a, 'b> where 'a: 'b { for g in grps.into_iter() { let g_string = self.args_in_group(g) .join("|"); - ret_val.push_back(format!("[{}]", &g_string[..g_string.len() - 1])); + ret_val.push_back(format!("[{}]", &g_string[..g_string.len()])); } ret_val From c3795ad404a8368a7a0c207426bfacabc9dd0ee3 Mon Sep 17 00:00:00 2001 From: Kevin K Date: Sat, 9 Apr 2016 22:31:52 -0700 Subject: [PATCH 2/2] tests(Groups): removes tests causing issues that werent required --- tests/groups.rs | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/tests/groups.rs b/tests/groups.rs index e04a8a840530..eeaa42010ef4 100644 --- a/tests/groups.rs +++ b/tests/groups.rs @@ -79,33 +79,13 @@ fn group_multi_value_single_arg() { } #[test] -#[should_panic] fn empty_group() { - let _ = App::new("empty_group") + let r = App::new("empty_group") .arg(Arg::from_usage("-f, --flag 'some flag'")) .group(ArgGroup::with_name("vers") .required(true)) - .get_matches(); -} - -#[test] -#[should_panic] -fn empty_group_2() { - let _ = App::new("empty_group") - .arg(Arg::from_usage("-f, --flag 'some flag'")) - .group(ArgGroup::with_name("vers") - .required(true) - .args(&["ver", "major"])) - .get_matches(); -} - -#[test] -#[should_panic] -fn errous_group() { - let _ = App::new("errous_group") - .arg(Arg::from_usage("-f, --flag 'some flag'")) - .group(ArgGroup::with_name("vers") - .arg("vers") - .required(true)) - .get_matches(); + .get_matches_from_safe(vec!["empty_prog"]); + assert!(r.is_err()); + let err = r.err().unwrap(); + assert_eq!(err.kind, ErrorKind::MissingRequiredArgument); }