fix clippy lints in tests

This commit is contained in:
Terts Diepraam
2022-12-29 18:24:54 +01:00
parent 8167c9670f
commit b5e955222a
2 changed files with 46 additions and 11 deletions
+6 -6
View File
@@ -45,7 +45,7 @@ fn parse(args: &'static [&'static str]) -> Result<Settings, uutils_args::Error>
#[test]
fn name_and_suffix() {
let settings = parse(&["basename", "foobar", "bar"]).unwrap();
assert_eq!(settings.zero, false);
assert!(!settings.zero);
assert_eq!(settings.names, vec!["foobar"]);
assert_eq!(settings.suffix, "bar");
}
@@ -53,7 +53,7 @@ fn name_and_suffix() {
#[test]
fn zero_name_and_suffix() {
let settings = parse(&["basename", "-z", "foobar", "bar"]).unwrap();
assert_eq!(settings.zero, true);
assert!(settings.zero);
assert_eq!(settings.names, vec!["foobar"]);
assert_eq!(settings.suffix, "bar");
}
@@ -61,8 +61,8 @@ fn zero_name_and_suffix() {
#[test]
fn all_and_names() {
let settings = parse(&["basename", "-a", "foobar", "bar"]).unwrap();
assert_eq!(settings.multiple, true);
assert_eq!(settings.zero, false);
assert!(settings.multiple);
assert!(!settings.zero);
assert_eq!(settings.names, vec!["foobar", "bar"]);
assert_eq!(settings.suffix, "");
}
@@ -70,8 +70,8 @@ fn all_and_names() {
#[test]
fn option_like_names() {
let settings = parse(&["basename", "-a", "--", "-a", "-z", "--suffix=SUFFIX"]).unwrap();
assert_eq!(settings.multiple, true);
assert_eq!(settings.zero, false);
assert!(settings.multiple);
assert!(!settings.zero);
assert_eq!(settings.names, vec!["-a", "-z", "--suffix=SUFFIX"]);
assert_eq!(settings.suffix, "");
}
+40 -5
View File
@@ -1,3 +1,5 @@
use std::path::{Path, PathBuf};
use uutils_args::{Arguments, Options};
#[derive(Clone, Arguments)]
@@ -13,14 +15,14 @@ enum Arg {
#[option("-q", "--quiet")]
Quiet,
#[option("--suffix")]
#[option("--suffix=SUFFIX")]
Suffix(String),
#[option("-t")]
TreatAsTemplate,
#[option("-p", "--tmpdir")]
TmpDir(Option<String>),
#[option("-p DIR", "--tmpdir[=DIR]", default = ".".into())]
TmpDir(PathBuf),
#[positional(0..=1)]
Template(String),
@@ -38,6 +40,9 @@ struct Settings {
#[map(Arg::Quiet => true)]
quiet: bool,
#[map(Arg::TmpDir(p) => Some(p))]
tmp_dir: Option<PathBuf>,
#[map(Arg::Suffix(s) => Some(s))]
suffix: Option<String>,
@@ -49,6 +54,36 @@ struct Settings {
}
#[test]
fn test() {
assert!(true);
fn suffix() {
let s = Settings::parse(["mktemp", "--suffix=hello"]).unwrap();
assert_eq!(s.suffix.unwrap(), "hello");
let s = Settings::parse(["mktemp", "--suffix="]).unwrap();
assert_eq!(s.suffix.unwrap(), "");
let s = Settings::parse(["mktemp", "--suffix="]).unwrap();
assert_eq!(s.suffix.unwrap(), "");
let s = Settings::parse(["mktemp"]).unwrap();
assert_eq!(s.suffix, None);
}
#[test]
fn tmpdir() {
let s = Settings::parse(["mktemp", "--tmpdir"]).unwrap();
assert_eq!(s.tmp_dir.unwrap(), Path::new("."));
let s = Settings::parse(["mktemp", "--tmpdir="]).unwrap();
assert_eq!(s.tmp_dir.unwrap(), Path::new(""));
let s = Settings::parse(["mktemp", "-p", "foo"]).unwrap();
assert_eq!(s.tmp_dir.unwrap(), Path::new("foo"));
let s = Settings::parse(["mktemp", "-pfoo"]).unwrap();
assert_eq!(s.tmp_dir.unwrap(), Path::new("foo"));
let s = Settings::parse(["mktemp", "-p", ""]).unwrap();
assert_eq!(s.tmp_dir.unwrap(), Path::new(""));
assert!(Settings::parse(["mktemp", "-p"]).is_err());
}