Skip to content

Commit

Permalink
df: remove trailing spaces in rightmost column
Browse files Browse the repository at this point in the history
  • Loading branch information
cakebaker authored and jfinkels committed Aug 27, 2022
1 parent c737d2a commit bfa7aff
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
13 changes: 11 additions & 2 deletions src/uu/df/src/table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -432,12 +432,21 @@ impl fmt::Display for Table {
while let Some(row) = row_iter.next() {
let mut col_iter = row.iter().enumerate().peekable();
while let Some((i, elem)) = col_iter.next() {
let is_last_col = col_iter.peek().is_none();

match self.alignments[i] {
Alignment::Left => write!(f, "{:<width$}", elem, width = self.widths[i])?,
Alignment::Left => {
if is_last_col {
// no trailing spaces in last column
write!(f, "{}", elem)?;
} else {
write!(f, "{:<width$}", elem, width = self.widths[i])?;
}
}
Alignment::Right => write!(f, "{:>width$}", elem, width = self.widths[i])?,
}

if col_iter.peek().is_some() {
if !is_last_col {
// column separator
write!(f, " ")?;
}
Expand Down
8 changes: 4 additions & 4 deletions tests/by-util/test_df.rs
Original file line number Diff line number Diff line change
Expand Up @@ -737,7 +737,7 @@ fn test_output_selects_columns() {
.args(&["--output=source"])
.succeeds()
.stdout_move_str();
assert_eq!(output.lines().next().unwrap().trim_end(), "Filesystem");
assert_eq!(output.lines().next().unwrap(), "Filesystem");

let output = new_ucmd!()
.args(&["--output=source,target"])
Expand Down Expand Up @@ -796,7 +796,7 @@ fn test_output_file_all_filesystems() {
let mut lines = output.lines();
assert_eq!(lines.next().unwrap(), "File");
for line in lines {
assert_eq!(line, "- ");
assert_eq!(line, "-");
}
}

Expand All @@ -816,7 +816,7 @@ fn test_output_file_specific_files() {
.succeeds()
.stdout_move_str();
let actual: Vec<&str> = output.lines().collect();
assert_eq!(actual, vec!["File", "a ", "b ", "c "]);
assert_eq!(actual, vec!["File", "a", "b", "c"]);
}

#[test]
Expand Down Expand Up @@ -853,5 +853,5 @@ fn test_nonexistent_file() {
.args(&["--output=file", "does-not-exist", "."])
.fails()
.stderr_is("df: does-not-exist: No such file or directory\n")
.stdout_is("File\n. \n");
.stdout_is("File\n.\n");
}

0 comments on commit bfa7aff

Please sign in to comment.