Prechádzať zdrojové kódy

Mandate --recurse with --tree

Fixes #7.
Ben S 11 rokov pred
rodič
commit
f8768e7c01
1 zmenil súbory, kde vykonal 8 pridanie a 0 odobranie
  1. 8 0
      src/options.rs

+ 8 - 0
src/options.rs

@@ -371,6 +371,7 @@ impl DirAction {
         let tree    = matches.opt_present("tree");
         let tree    = matches.opt_present("tree");
 
 
         match (recurse, list, tree) {
         match (recurse, list, tree) {
+            (false, _,     true ) => Err(Misfire::Useless("tree", false, "recurse")),
             (true,  true,  _    ) => Err(Misfire::Conflict("recurse", "list-dirs")),
             (true,  true,  _    ) => Err(Misfire::Conflict("recurse", "list-dirs")),
             (true,  false, false) => Ok(DirAction::Recurse),
             (true,  false, false) => Ok(DirAction::Recurse),
             (true,  false, true ) => Ok(DirAction::Tree),
             (true,  false, true ) => Ok(DirAction::Tree),
@@ -543,4 +544,11 @@ mod test {
         let opts = Options::getopts(&[ "--blocks".to_string() ]);
         let opts = Options::getopts(&[ "--blocks".to_string() ]);
         assert_eq!(opts.unwrap_err(), Misfire::Useless("blocks", false, "long"))
         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"))
+    }
+
 }
 }