From f7ba1f9b07c98a34d3ddcabb538657a1f0aebf09 Mon Sep 17 00:00:00 2001 From: "Guillem L. Jara" <4lon3ly0@tutanota.com> Date: Fri, 1 May 2026 16:17:20 +0200 Subject: [PATCH] chore(ls): test for sorting stability --- tests/by-util/test_ls.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) 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")