1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00

Merge pull request #6970 from cakebaker/cut_test_refactorings

cut: some test refactorings
This commit is contained in:
Sylvestre Ledru 2024-12-18 18:28:46 +01:00 committed by GitHub
commit 8bbe39c9ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -46,6 +46,13 @@ static COMPLEX_SEQUENCE: &TestedSequence = &TestedSequence {
sequence: "9-,6-7,-2,4",
};
#[test]
fn test_no_args() {
new_ucmd!().fails().stderr_is(
"cut: invalid usage: expects one of --fields (-f), --chars (-c) or --bytes (-b)\n",
);
}
#[test]
fn test_invalid_arg() {
new_ucmd!().arg("--definitely-invalid").fails().code_is(1);
@ -249,25 +256,29 @@ fn test_no_such_file() {
}
#[test]
fn test_equal_as_delimiter1() {
new_ucmd!()
.args(&["-f", "2", "-d="])
.pipe_in("--dir=./out/lib")
.succeeds()
.stdout_only("./out/lib\n");
fn test_equal_as_delimiter() {
for arg in ["-d=", "--delimiter=="] {
new_ucmd!()
.args(&["-f2", arg])
.pipe_in("--dir=./out/lib")
.succeeds()
.stdout_only("./out/lib\n");
}
}
#[test]
fn test_equal_as_delimiter2() {
new_ucmd!()
.args(&["-f2", "--delimiter="])
.pipe_in("a=b\n")
.succeeds()
.stdout_only("a=b\n");
fn test_empty_string_as_delimiter() {
for arg in ["-d''", "--delimiter=", "--delimiter=''"] {
new_ucmd!()
.args(&["-f2", arg])
.pipe_in("a\0b\n")
.succeeds()
.stdout_only("b\n");
}
}
#[test]
fn test_equal_as_delimiter3() {
fn test_empty_string_as_delimiter_with_output_delimiter() {
new_ucmd!()
.args(&["-f", "1,2", "-d", "''", "--output-delimiter=Z"])
.pipe_in("ab\0cd\n")
@ -276,17 +287,7 @@ fn test_equal_as_delimiter3() {
}
#[test]
fn test_multiple() {
let result = new_ucmd!()
.args(&["-f2", "-d:", "-d="])
.pipe_in("a=b\n")
.succeeds();
assert_eq!(result.stdout_str(), "b\n");
assert_eq!(result.stderr_str(), "");
}
#[test]
fn test_newline_delimited() {
fn test_newline_as_delimiter() {
new_ucmd!()
.args(&["-f", "1", "-d", "\n"])
.pipe_in("a:1\nb:")
@ -294,6 +295,15 @@ fn test_newline_delimited() {
.stdout_only_bytes("a:1\nb:\n");
}
#[test]
fn test_multiple_delimiters() {
new_ucmd!()
.args(&["-f2", "-d:", "-d="])
.pipe_in("a=b\n")
.succeeds()
.stdout_only("b\n");
}
#[test]
fn test_multiple_mode_args() {
for args in [
@ -312,13 +322,6 @@ fn test_multiple_mode_args() {
}
}
#[test]
fn test_no_argument() {
new_ucmd!().fails().stderr_is(
"cut: invalid usage: expects one of --fields (-f), --chars (-c) or --bytes (-b)\n",
);
}
#[test]
#[cfg(unix)]
fn test_8bit_non_utf8_delimiter() {