diff --git a/src/output/details.rs b/src/output/details.rs index ddf49844b13ca6daae4d2069a4cb2141f3e2c853..a25d8c3bfa6a7f31f7df65c1e2a10818663cbfdb 100644 --- a/src/output/details.rs +++ b/src/output/details.rs @@ -308,13 +308,7 @@ impl Details { let mut errors = egg.errors; let filename = FileName::new(&egg.file, &self.colours).paint(true, self.classify); - let mut width = filename.width(); - - if egg.file.dir.is_none() { - if let Some(parent) = egg.file.path.parent() { - width = width + 1 + DisplayWidth::from(parent.to_string_lossy().as_ref()); - } - } + let width = filename.width(); let name = TextCell { contents: filename, @@ -459,13 +453,7 @@ impl<'a, U: Users+Groups+'a> Table<'a, U> { pub fn filename_cell(&self, file: File, links: bool) -> TextCell { let filename = FileName::new(&file, &self.opts.colours).paint(links, self.opts.classify); - let mut width = filename.width(); - - if file.dir.is_none() { - if let Some(parent) = file.path.parent() { - width = width + 1 + DisplayWidth::from(parent.to_string_lossy().as_ref()); - } - } + let width = filename.width(); TextCell { contents: filename, diff --git a/src/output/grid.rs b/src/output/grid.rs index 0b07a3c8988b5f1c7262588291ad569692aa5e3e..7a5c8134c5351b0d638122b41c56645c01397c57 100644 --- a/src/output/grid.rs +++ b/src/output/grid.rs @@ -30,13 +30,7 @@ impl Grid { for file in files.iter() { let filename = FileName::new(file, &self.colours).paint(false, self.classify); - - let mut width = filename.width(); - if file.dir.is_none() { - if let Some(parent) = file.path.parent() { - width = width + 1 + DisplayWidth::from(parent.to_string_lossy().as_ref()); - } - } + let width = filename.width(); grid.add(grid::Cell { contents: filename.strings().to_string(), diff --git a/xtests/files_star_100 b/xtests/files_star_100 new file mode 100644 index 0000000000000000000000000000000000000000..552312739ec459287b48a9bf9851b9a54da58141 --- /dev/null +++ b/xtests/files_star_100 @@ -0,0 +1,13 @@ +/testcases/files/10_bytes /testcases/files/1_KiB /testcases/files/5_MiB +/testcases/files/10_KiB /testcases/files/1_MiB /testcases/files/6_bytes +/testcases/files/10_MiB /testcases/files/2_bytes /testcases/files/6_KiB +/testcases/files/11_bytes /testcases/files/2_KiB /testcases/files/6_MiB +/testcases/files/11_KiB /testcases/files/2_MiB /testcases/files/7_bytes +/testcases/files/11_MiB /testcases/files/3_bytes /testcases/files/7_KiB +/testcases/files/12_bytes /testcases/files/3_KiB /testcases/files/7_MiB +/testcases/files/12_KiB /testcases/files/3_MiB /testcases/files/8_bytes +/testcases/files/12_MiB /testcases/files/4_bytes /testcases/files/8_KiB +/testcases/files/13_bytes /testcases/files/4_KiB /testcases/files/8_MiB +/testcases/files/13_KiB /testcases/files/4_MiB /testcases/files/9_bytes +/testcases/files/13_MiB /testcases/files/5_bytes /testcases/files/9_KiB +/testcases/files/1_bytes /testcases/files/5_KiB /testcases/files/9_MiB diff --git a/xtests/files_star_150 b/xtests/files_star_150 new file mode 100644 index 0000000000000000000000000000000000000000..eac4bdefe92c907e6bfaa8a3ec52ea79ae038187 --- /dev/null +++ b/xtests/files_star_150 @@ -0,0 +1,8 @@ +/testcases/files/10_bytes /testcases/files/12_MiB /testcases/files/2_KiB /testcases/files/5_bytes /testcases/files/7_MiB +/testcases/files/10_KiB /testcases/files/13_bytes /testcases/files/2_MiB /testcases/files/5_KiB /testcases/files/8_bytes +/testcases/files/10_MiB /testcases/files/13_KiB /testcases/files/3_bytes /testcases/files/5_MiB /testcases/files/8_KiB +/testcases/files/11_bytes /testcases/files/13_MiB /testcases/files/3_KiB /testcases/files/6_bytes /testcases/files/8_MiB +/testcases/files/11_KiB /testcases/files/1_bytes /testcases/files/3_MiB /testcases/files/6_KiB /testcases/files/9_bytes +/testcases/files/11_MiB /testcases/files/1_KiB /testcases/files/4_bytes /testcases/files/6_MiB /testcases/files/9_KiB +/testcases/files/12_bytes /testcases/files/1_MiB /testcases/files/4_KiB /testcases/files/7_bytes /testcases/files/9_MiB +/testcases/files/12_KiB /testcases/files/2_bytes /testcases/files/4_MiB /testcases/files/7_KiB diff --git a/xtests/files_star_200 b/xtests/files_star_200 new file mode 100644 index 0000000000000000000000000000000000000000..7e9264f8b66fe1a896fcc06cd8b21234e4c89204 --- /dev/null +++ b/xtests/files_star_200 @@ -0,0 +1,6 @@ +/testcases/files/10_bytes /testcases/files/12_bytes /testcases/files/1_bytes /testcases/files/3_bytes /testcases/files/5_bytes /testcases/files/7_bytes /testcases/files/9_bytes +/testcases/files/10_KiB /testcases/files/12_KiB /testcases/files/1_KiB /testcases/files/3_KiB /testcases/files/5_KiB /testcases/files/7_KiB /testcases/files/9_KiB +/testcases/files/10_MiB /testcases/files/12_MiB /testcases/files/1_MiB /testcases/files/3_MiB /testcases/files/5_MiB /testcases/files/7_MiB /testcases/files/9_MiB +/testcases/files/11_bytes /testcases/files/13_bytes /testcases/files/2_bytes /testcases/files/4_bytes /testcases/files/6_bytes /testcases/files/8_bytes +/testcases/files/11_KiB /testcases/files/13_KiB /testcases/files/2_KiB /testcases/files/4_KiB /testcases/files/6_KiB /testcases/files/8_KiB +/testcases/files/11_MiB /testcases/files/13_MiB /testcases/files/2_MiB /testcases/files/4_MiB /testcases/files/6_MiB /testcases/files/8_MiB diff --git a/xtests/files_star_lG_100 b/xtests/files_star_lG_100 new file mode 100644 index 0000000000000000000000000000000000000000..d35b5b03f75be7d5c4383c8cb390c98a2630df63 --- /dev/null +++ b/xtests/files_star_lG_100 @@ -0,0 +1,39 @@ +.rw-r--r-- 10 cassowary  1 Jan 12:34 /testcases/files/10_bytes +.rw-r--r-- 10k cassowary  1 Jan 12:34 /testcases/files/10_KiB +.rw-r--r-- 10M cassowary  1 Jan 12:34 /testcases/files/10_MiB +.rw-r--r-- 11 cassowary  1 Jan 12:34 /testcases/files/11_bytes +.rw-r--r-- 11k cassowary  1 Jan 12:34 /testcases/files/11_KiB +.rw-r--r-- 11M cassowary  1 Jan 12:34 /testcases/files/11_MiB +.rw-r--r-- 12 cassowary  1 Jan 12:34 /testcases/files/12_bytes +.rw-r--r-- 12k cassowary  1 Jan 12:34 /testcases/files/12_KiB +.rw-r--r-- 12M cassowary  1 Jan 12:34 /testcases/files/12_MiB +.rw-r--r-- 13 cassowary  1 Jan 12:34 /testcases/files/13_bytes +.rw-r--r-- 13k cassowary  1 Jan 12:34 /testcases/files/13_KiB +.rw-r--r-- 13M cassowary  1 Jan 12:34 /testcases/files/13_MiB +.rw-r--r-- 1 cassowary  1 Jan 12:34 /testcases/files/1_bytes +.rw-r--r-- 1.0k cassowary  1 Jan 12:34 /testcases/files/1_KiB +.rw-r--r-- 1.0M cassowary  1 Jan 12:34 /testcases/files/1_MiB +.rw-r--r-- 2 cassowary  1 Jan 12:34 /testcases/files/2_bytes +.rw-r--r-- 2.0k cassowary  1 Jan 12:34 /testcases/files/2_KiB +.rw-r--r-- 2.1M cassowary  1 Jan 12:34 /testcases/files/2_MiB +.rw-r--r-- 3 cassowary  1 Jan 12:34 /testcases/files/3_bytes +.rw-r--r-- 3.1k cassowary  1 Jan 12:34 /testcases/files/3_KiB +.rw-r--r-- 3.1M cassowary  1 Jan 12:34 /testcases/files/3_MiB +.rw-r--r-- 4 cassowary  1 Jan 12:34 /testcases/files/4_bytes +.rw-r--r-- 4.1k cassowary  1 Jan 12:34 /testcases/files/4_KiB +.rw-r--r-- 4.2M cassowary  1 Jan 12:34 /testcases/files/4_MiB +.rw-r--r-- 5 cassowary  1 Jan 12:34 /testcases/files/5_bytes +.rw-r--r-- 5.1k cassowary  1 Jan 12:34 /testcases/files/5_KiB +.rw-r--r-- 5.2M cassowary  1 Jan 12:34 /testcases/files/5_MiB +.rw-r--r-- 6 cassowary  1 Jan 12:34 /testcases/files/6_bytes +.rw-r--r-- 6.1k cassowary  1 Jan 12:34 /testcases/files/6_KiB +.rw-r--r-- 6.3M cassowary  1 Jan 12:34 /testcases/files/6_MiB +.rw-r--r-- 7 cassowary  1 Jan 12:34 /testcases/files/7_bytes +.rw-r--r-- 7.2k cassowary  1 Jan 12:34 /testcases/files/7_KiB +.rw-r--r-- 7.3M cassowary  1 Jan 12:34 /testcases/files/7_MiB +.rw-r--r-- 8 cassowary  1 Jan 12:34 /testcases/files/8_bytes +.rw-r--r-- 8.2k cassowary  1 Jan 12:34 /testcases/files/8_KiB +.rw-r--r-- 8.4M cassowary  1 Jan 12:34 /testcases/files/8_MiB +.rw-r--r-- 9 cassowary  1 Jan 12:34 /testcases/files/9_bytes +.rw-r--r-- 9.2k cassowary  1 Jan 12:34 /testcases/files/9_KiB +.rw-r--r-- 9.4M cassowary  1 Jan 12:34 /testcases/files/9_MiB diff --git a/xtests/files_star_lG_150 b/xtests/files_star_lG_150 new file mode 100644 index 0000000000000000000000000000000000000000..4f076a8021a7a2b19cd74c1a659c49d765681fe9 --- /dev/null +++ b/xtests/files_star_lG_150 @@ -0,0 +1,20 @@ +.rw-r--r-- 10 cassowary  1 Jan 12:34 /testcases/files/10_bytes .rw-r--r-- 3.1M cassowary  1 Jan 12:34 /testcases/files/3_MiB +.rw-r--r-- 10k cassowary  1 Jan 12:34 /testcases/files/10_KiB .rw-r--r-- 4 cassowary  1 Jan 12:34 /testcases/files/4_bytes +.rw-r--r-- 10M cassowary  1 Jan 12:34 /testcases/files/10_MiB .rw-r--r-- 4.1k cassowary  1 Jan 12:34 /testcases/files/4_KiB +.rw-r--r-- 11 cassowary  1 Jan 12:34 /testcases/files/11_bytes .rw-r--r-- 4.2M cassowary  1 Jan 12:34 /testcases/files/4_MiB +.rw-r--r-- 11k cassowary  1 Jan 12:34 /testcases/files/11_KiB .rw-r--r-- 5 cassowary  1 Jan 12:34 /testcases/files/5_bytes +.rw-r--r-- 11M cassowary  1 Jan 12:34 /testcases/files/11_MiB .rw-r--r-- 5.1k cassowary  1 Jan 12:34 /testcases/files/5_KiB +.rw-r--r-- 12 cassowary  1 Jan 12:34 /testcases/files/12_bytes .rw-r--r-- 5.2M cassowary  1 Jan 12:34 /testcases/files/5_MiB +.rw-r--r-- 12k cassowary  1 Jan 12:34 /testcases/files/12_KiB .rw-r--r-- 6 cassowary  1 Jan 12:34 /testcases/files/6_bytes +.rw-r--r-- 12M cassowary  1 Jan 12:34 /testcases/files/12_MiB .rw-r--r-- 6.1k cassowary  1 Jan 12:34 /testcases/files/6_KiB +.rw-r--r-- 13 cassowary  1 Jan 12:34 /testcases/files/13_bytes .rw-r--r-- 6.3M cassowary  1 Jan 12:34 /testcases/files/6_MiB +.rw-r--r-- 13k cassowary  1 Jan 12:34 /testcases/files/13_KiB .rw-r--r-- 7 cassowary  1 Jan 12:34 /testcases/files/7_bytes +.rw-r--r-- 13M cassowary  1 Jan 12:34 /testcases/files/13_MiB .rw-r--r-- 7.2k cassowary  1 Jan 12:34 /testcases/files/7_KiB +.rw-r--r-- 1 cassowary  1 Jan 12:34 /testcases/files/1_bytes .rw-r--r-- 7.3M cassowary  1 Jan 12:34 /testcases/files/7_MiB +.rw-r--r-- 1.0k cassowary  1 Jan 12:34 /testcases/files/1_KiB .rw-r--r-- 8 cassowary  1 Jan 12:34 /testcases/files/8_bytes +.rw-r--r-- 1.0M cassowary  1 Jan 12:34 /testcases/files/1_MiB .rw-r--r-- 8.2k cassowary  1 Jan 12:34 /testcases/files/8_KiB +.rw-r--r-- 2 cassowary  1 Jan 12:34 /testcases/files/2_bytes .rw-r--r-- 8.4M cassowary  1 Jan 12:34 /testcases/files/8_MiB +.rw-r--r-- 2.0k cassowary  1 Jan 12:34 /testcases/files/2_KiB .rw-r--r-- 9 cassowary  1 Jan 12:34 /testcases/files/9_bytes +.rw-r--r-- 2.1M cassowary  1 Jan 12:34 /testcases/files/2_MiB .rw-r--r-- 9.2k cassowary  1 Jan 12:34 /testcases/files/9_KiB +.rw-r--r-- 3 cassowary  1 Jan 12:34 /testcases/files/3_bytes .rw-r--r-- 9.4M cassowary  1 Jan 12:34 /testcases/files/9_MiB +.rw-r--r-- 3.1k cassowary  1 Jan 12:34 /testcases/files/3_KiB diff --git a/xtests/files_star_lG_200 b/xtests/files_star_lG_200 new file mode 100644 index 0000000000000000000000000000000000000000..ce99ce2797ec7d2a8bc19d593eebdd4b5f79efec --- /dev/null +++ b/xtests/files_star_lG_200 @@ -0,0 +1,13 @@ +.rw-r--r-- 10 cassowary  1 Jan 12:34 /testcases/files/10_bytes .rw-r--r-- 1.0k cassowary  1 Jan 12:34 /testcases/files/1_KiB .rw-r--r-- 5.2M cassowary  1 Jan 12:34 /testcases/files/5_MiB +.rw-r--r-- 10k cassowary  1 Jan 12:34 /testcases/files/10_KiB .rw-r--r-- 1.0M cassowary  1 Jan 12:34 /testcases/files/1_MiB .rw-r--r-- 6 cassowary  1 Jan 12:34 /testcases/files/6_bytes +.rw-r--r-- 10M cassowary  1 Jan 12:34 /testcases/files/10_MiB .rw-r--r-- 2 cassowary  1 Jan 12:34 /testcases/files/2_bytes .rw-r--r-- 6.1k cassowary  1 Jan 12:34 /testcases/files/6_KiB +.rw-r--r-- 11 cassowary  1 Jan 12:34 /testcases/files/11_bytes .rw-r--r-- 2.0k cassowary  1 Jan 12:34 /testcases/files/2_KiB .rw-r--r-- 6.3M cassowary  1 Jan 12:34 /testcases/files/6_MiB +.rw-r--r-- 11k cassowary  1 Jan 12:34 /testcases/files/11_KiB .rw-r--r-- 2.1M cassowary  1 Jan 12:34 /testcases/files/2_MiB .rw-r--r-- 7 cassowary  1 Jan 12:34 /testcases/files/7_bytes +.rw-r--r-- 11M cassowary  1 Jan 12:34 /testcases/files/11_MiB .rw-r--r-- 3 cassowary  1 Jan 12:34 /testcases/files/3_bytes .rw-r--r-- 7.2k cassowary  1 Jan 12:34 /testcases/files/7_KiB +.rw-r--r-- 12 cassowary  1 Jan 12:34 /testcases/files/12_bytes .rw-r--r-- 3.1k cassowary  1 Jan 12:34 /testcases/files/3_KiB .rw-r--r-- 7.3M cassowary  1 Jan 12:34 /testcases/files/7_MiB +.rw-r--r-- 12k cassowary  1 Jan 12:34 /testcases/files/12_KiB .rw-r--r-- 3.1M cassowary  1 Jan 12:34 /testcases/files/3_MiB .rw-r--r-- 8 cassowary  1 Jan 12:34 /testcases/files/8_bytes +.rw-r--r-- 12M cassowary  1 Jan 12:34 /testcases/files/12_MiB .rw-r--r-- 4 cassowary  1 Jan 12:34 /testcases/files/4_bytes .rw-r--r-- 8.2k cassowary  1 Jan 12:34 /testcases/files/8_KiB +.rw-r--r-- 13 cassowary  1 Jan 12:34 /testcases/files/13_bytes .rw-r--r-- 4.1k cassowary  1 Jan 12:34 /testcases/files/4_KiB .rw-r--r-- 8.4M cassowary  1 Jan 12:34 /testcases/files/8_MiB +.rw-r--r-- 13k cassowary  1 Jan 12:34 /testcases/files/13_KiB .rw-r--r-- 4.2M cassowary  1 Jan 12:34 /testcases/files/4_MiB .rw-r--r-- 9 cassowary  1 Jan 12:34 /testcases/files/9_bytes +.rw-r--r-- 13M cassowary  1 Jan 12:34 /testcases/files/13_MiB .rw-r--r-- 5 cassowary  1 Jan 12:34 /testcases/files/5_bytes .rw-r--r-- 9.2k cassowary  1 Jan 12:34 /testcases/files/9_KiB +.rw-r--r-- 1 cassowary  1 Jan 12:34 /testcases/files/1_bytes .rw-r--r-- 5.1k cassowary  1 Jan 12:34 /testcases/files/5_KiB .rw-r--r-- 9.4M cassowary  1 Jan 12:34 /testcases/files/9_MiB diff --git a/xtests/run.sh b/xtests/run.sh index 2b0237c2a7fb2d91b533e83833002efaea46dc71..12a5c2e7ee14a5971fb14ce8c9ef15c1a8eee21e 100755 --- a/xtests/run.sh +++ b/xtests/run.sh @@ -33,6 +33,10 @@ COLUMNS=120 $exa $testcases/files | diff -q - $results/files_120 || exit 1 COLUMNS=160 $exa $testcases/files | diff -q - $results/files_160 || exit 1 COLUMNS=200 $exa $testcases/files | diff -q - $results/files_200 || exit 1 +COLUMNS=100 $exa $testcases/files/* | diff -q - $results/files_star_100 || exit 1 +COLUMNS=150 $exa $testcases/files/* | diff -q - $results/files_star_150 || exit 1 +COLUMNS=200 $exa $testcases/files/* | diff -q - $results/files_star_200 || exit 1 + # Long grid view tests COLUMNS=40 $exa $testcases/files -lG | diff -q - $results/files_lG_40 || exit 1 @@ -41,6 +45,10 @@ COLUMNS=120 $exa $testcases/files -lG | diff -q - $results/files_lG_120 || exit COLUMNS=160 $exa $testcases/files -lG | diff -q - $results/files_lG_160 || exit 1 COLUMNS=200 $exa $testcases/files -lG | diff -q - $results/files_lG_200 || exit 1 +COLUMNS=100 $exa $testcases/files/* -lG | diff -q - $results/files_star_lG_100 || exit 1 +COLUMNS=150 $exa $testcases/files/* -lG | diff -q - $results/files_star_lG_150 || exit 1 +COLUMNS=200 $exa $testcases/files/* -lG | diff -q - $results/files_star_lG_200 || exit 1 + # Attributes $exa $testcases/attributes -l@T | diff -q - $results/attributes || exit 1