diff options
author | Ben S <ogham@bsago.me> | 2015-02-21 23:43:40 +0000 |
---|---|---|
committer | Ben S <ogham@bsago.me> | 2015-02-21 23:43:40 +0000 |
commit | f8768e7c015575a6e67cee9602838d3799b63781 (patch) | |
tree | 13da68afadf8311c9ad61e2a94852c79113e0c77 /src/options.rs | |
parent | 363d52dbb0e05db30ee7c2c49417b2633df6c9ce (diff) |
Mandate --recurse with --tree
Fixes #7.
Diffstat (limited to 'src/options.rs')
-rw-r--r-- | src/options.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/options.rs b/src/options.rs index b463150..f903617 100644 --- a/src/options.rs +++ b/src/options.rs @@ -371,6 +371,7 @@ impl DirAction { let tree = matches.opt_present("tree"); match (recurse, list, tree) { + (false, _, true ) => Err(Misfire::Useless("tree", false, "recurse")), (true, true, _ ) => Err(Misfire::Conflict("recurse", "list-dirs")), (true, false, false) => Ok(DirAction::Recurse), (true, false, true ) => Ok(DirAction::Tree), @@ -543,4 +544,11 @@ mod test { let opts = Options::getopts(&[ "--blocks".to_string() ]); assert_eq!(opts.unwrap_err(), Misfire::Useless("blocks", false, "long")) } + + #[test] + fn tree_without_recurse() { + let opts = Options::getopts(&[ "--tree".to_string() ]); + assert_eq!(opts.unwrap_err(), Misfire::Useless("tree", false, "recurse")) + } + } |