diff --git a/tests/by-util/test_ls.rs b/tests/by-util/test_ls.rs index 81edec8d8..f3a5f279f 100644 --- a/tests/by-util/test_ls.rs +++ b/tests/by-util/test_ls.rs @@ -1941,6 +1941,10 @@ fn test_ls_group_directories_first() { } filenames.sort_unstable(); + for (i, name) in filenames.iter().enumerate() { + at.write_bytes(name, "a".repeat(i).as_bytes()); + } + let dirnames = ["aaa", "bbb", "ccc", "yyy"]; for dirname in dirnames { at.mkdir(dirname); @@ -1962,6 +1966,21 @@ fn test_ls_group_directories_first() { .collect::>(), ); + let result = scene + .ucmd() + .arg("-1") + .arg("--group-directories-first") + .arg("--sort=size") + .succeeds(); + assert_eq!( + result.stdout_str().split('\n').collect::>(), + dirnames + .into_iter() + .chain(filenames.into_iter().rev()) + .chain([""].into_iter()) + .collect::>() + ); + let result = scene .ucmd() .arg("-1ar")