mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
basename: implement and test repeated flags and arguments
Note in particular that `args_override_self` would *NOT* work here, since it would in all cases cause `options::NAME` to override itself, or interfere with `trailing_var_arg`.
This commit is contained in:
parent
9441806a23
commit
f905d9ce41
2 changed files with 81 additions and 67 deletions
|
@ -202,6 +202,54 @@ fn test_invalid_arg() {
|
|||
new_ucmd!().arg("--definitely-invalid").fails().code_is(1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_multiple() {
|
||||
new_ucmd!()
|
||||
.args(&["-aa", "-a", "foo"])
|
||||
.succeeds()
|
||||
.stdout_is("foo\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_multiple_many() {
|
||||
new_ucmd!()
|
||||
.args(&["-aa", "-a", "1/foo", "q/bar", "x/y/baz"])
|
||||
.succeeds()
|
||||
.stdout_is("foo\nbar\nbaz\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_suffix_last() {
|
||||
new_ucmd!()
|
||||
.args(&["-s", ".h", "-s", ".c", "foo.c"])
|
||||
.succeeds()
|
||||
.stdout_is("foo\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_suffix_not_first() {
|
||||
new_ucmd!()
|
||||
.args(&["-s", ".h", "-s", ".c", "foo.h"])
|
||||
.succeeds()
|
||||
.stdout_is("foo.h\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_suffix_multiple() {
|
||||
new_ucmd!()
|
||||
.args(&["-as", ".h", "-a", "-s", ".c", "foo.c", "bar.c", "bar.h"])
|
||||
.succeeds()
|
||||
.stdout_is("foo\nbar\nbar.h\n");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_repeated_zero() {
|
||||
new_ucmd!()
|
||||
.args(&["-zz", "-z", "foo/bar"])
|
||||
.succeeds()
|
||||
.stdout_is("bar\0");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_zero_does_not_imply_multiple() {
|
||||
new_ucmd!()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue