cut: improve function signature

and add test for existing functionality
This commit is contained in:
Can Bölük
2026-03-20 10:30:19 +01:00
committed by GitHub
parent ddb9cd6039
commit 483f13e918
2 changed files with 17 additions and 2 deletions
+2 -2
View File
@@ -260,9 +260,9 @@ fn cut_fields_newline_char_delim<R: Read, W: Write>(
reader: R,
out: &mut W,
ranges: &[Range],
only_delimited: bool,
newline_char: u8,
out_delim: &[u8],
only_delimited: bool,
) -> UResult<()> {
let mut reader = BufReader::new(reader);
let mut line = Vec::new();
@@ -398,9 +398,9 @@ fn cut_fields<R: Read, W: Write>(
reader,
out,
ranges,
field_opts.only_delimited,
newline_char,
out_delim,
field_opts.only_delimited,
)
}
Delimiter::Slice(delim) => {
+15
View File
@@ -229,6 +229,21 @@ fn test_zero_terminated_only_delimited() {
.stdout_only("82\n7\0");
}
#[test]
fn test_suppresses_unterminated_segment() {
new_ucmd!()
.args(&["-z", "-d", "", "-s", "-f", "1"])
.pipe_in("unterminated")
.succeeds()
.stdout_only_bytes("");
new_ucmd!()
.args(&["-z", "-d", "", "-s", "-f", "1"])
.pipe_in("terminated\0unterminated")
.succeeds()
.stdout_only_bytes("terminated\0");
}
#[test]
fn test_is_a_directory() {
let (at, mut ucmd) = at_and_ucmd!();