From f8768e7c015575a6e67cee9602838d3799b63781 Mon Sep 17 00:00:00 2001 From: Ben S Date: Sat, 21 Feb 2015 23:43:40 +0000 Subject: [PATCH] Mandate --recurse with --tree Fixes #7. --- src/options.rs | 8 ++++++++ 1 file changed, 8 insertions(+) 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")) + } + }