2017-07-12 14:40:25 +01:00
|
|
|
use args;
|
|
|
|
|
2017-07-14 10:25:45 +01:00
|
|
|
use clap::ErrorKind;
|
|
|
|
|
2017-07-12 14:40:25 +01:00
|
|
|
#[test]
|
2017-07-13 09:45:19 +01:00
|
|
|
fn incorrect_subcommand() {
|
2017-07-14 10:25:45 +01:00
|
|
|
let out = args::get_matches_for(vec!("mdp"));
|
|
|
|
assert!(out.is_err());
|
|
|
|
assert_eq!(out.unwrap_err().kind, ErrorKind::MissingArgumentOrSubcommand);
|
|
|
|
|
|
|
|
let out = args::get_matches_for(vec!("mdp", "invalid"));
|
|
|
|
assert!(out.is_err());
|
|
|
|
assert_eq!(out.unwrap_err().kind, ErrorKind::UnknownArgument);
|
2017-07-13 09:45:19 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn verbose_number() {
|
|
|
|
fn get_verbose_level(arg_list: Vec<&str>) -> u64 {
|
|
|
|
return args::get_verbose(args::get_matches_for(arg_list).unwrap());
|
|
|
|
}
|
|
|
|
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "build", "-v")), 1);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "build", "-vv")), 2);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "-v", "build", "-vv")), 3);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "-vv", "build", "-v")), 3);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "-v", "build", "-v")), 2);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "-v", "build")), 1);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "--verbose", "build", "-v")), 2);
|
|
|
|
assert_eq!(get_verbose_level(vec!("mdp", "-v", "build", "--verbose")), 2);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn build_subcommand() {
|
|
|
|
let out = args::get_matches_for(vec!("mdp", "build"));
|
|
|
|
assert!(out.is_ok());
|
|
|
|
assert_eq!(out.unwrap().subcommand_name().unwrap(), "build");
|
2017-07-12 14:40:25 +01:00
|
|
|
}
|
2017-07-14 10:25:45 +01:00
|
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn version_string() {
|
|
|
|
let out = args::get_matches_for(vec!("mdp", "--version"));
|
|
|
|
assert!(out.is_err());
|
|
|
|
assert_eq!(out.unwrap_err().kind, ErrorKind::VersionDisplayed);
|
|
|
|
|
|
|
|
let out = args::get_matches_for(vec!("mdp", "build", "--version"));
|
|
|
|
assert!(out.is_err());
|
|
|
|
assert_eq!(out.unwrap_err().kind, ErrorKind::UnknownArgument);
|
|
|
|
}
|