mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
numfmt: show error if --padding is zero
This commit is contained in:
parent
f6a88552ab
commit
220c3ca4fb
2 changed files with 22 additions and 1 deletions
|
@ -103,7 +103,14 @@ fn parse_options(args: &ArgMatches) -> Result<NumfmtOptions> {
|
||||||
let transform = TransformOptions { from, to };
|
let transform = TransformOptions { from, to };
|
||||||
|
|
||||||
let padding = match args.value_of(options::PADDING) {
|
let padding = match args.value_of(options::PADDING) {
|
||||||
Some(s) => s.parse::<isize>().map_err(|err| err.to_string()),
|
Some(s) => s
|
||||||
|
.parse::<isize>()
|
||||||
|
.map_err(|_| s)
|
||||||
|
.and_then(|n| match n {
|
||||||
|
0 => Err(s),
|
||||||
|
_ => Ok(n),
|
||||||
|
})
|
||||||
|
.map_err(|s| format!("invalid padding value {}", s.quote())),
|
||||||
None => Ok(0),
|
None => Ok(0),
|
||||||
}?;
|
}?;
|
||||||
|
|
||||||
|
|
|
@ -593,3 +593,17 @@ fn test_invalid_argument_returns_status_1() {
|
||||||
.fails()
|
.fails()
|
||||||
.code_is(1);
|
.code_is(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_invalid_padding_value() {
|
||||||
|
let padding_values = vec!["A", "0"];
|
||||||
|
|
||||||
|
for padding_value in padding_values {
|
||||||
|
new_ucmd!()
|
||||||
|
.arg(format!("--padding={}", padding_value))
|
||||||
|
.arg("5")
|
||||||
|
.fails()
|
||||||
|
.code_is(1)
|
||||||
|
.stderr_contains(format!("invalid padding value '{}'", padding_value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue