mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
ls: version sort (#1898)
This commit is contained in:
parent
52997b63fb
commit
23b70001a8
3 changed files with 407 additions and 2 deletions
|
@ -526,7 +526,6 @@ fn test_ls_order_time() {
|
|||
at.metadata("test-2").permissions(),
|
||||
)
|
||||
.unwrap();
|
||||
let second_access = at.open("test-2").metadata().unwrap().accessed().unwrap();
|
||||
|
||||
let result = scene.ucmd().arg("-al").run();
|
||||
println!("stderr = {:?}", result.stderr);
|
||||
|
@ -870,3 +869,81 @@ fn test_ls_hidden_windows() {
|
|||
assert!(result.success);
|
||||
assert!(result.stdout.contains(file));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_ls_version_sort() {
|
||||
let scene = TestScenario::new(util_name!());
|
||||
let at = &scene.fixtures;
|
||||
for filename in &[
|
||||
"a2",
|
||||
"b1",
|
||||
"b20",
|
||||
"a1.4",
|
||||
"a1.40",
|
||||
"b3",
|
||||
"b11",
|
||||
"b20b",
|
||||
"b20a",
|
||||
"a100",
|
||||
"a1.13",
|
||||
"aa",
|
||||
"a1",
|
||||
"aaa",
|
||||
"a1.00000040",
|
||||
"abab",
|
||||
"ab",
|
||||
"a01.40",
|
||||
"a001.001",
|
||||
"a01.0000001",
|
||||
"a01.001",
|
||||
"a001.01",
|
||||
] {
|
||||
at.touch(filename);
|
||||
}
|
||||
|
||||
let mut expected = vec![
|
||||
"a1",
|
||||
"a001.001",
|
||||
"a001.01",
|
||||
"a01.0000001",
|
||||
"a01.001",
|
||||
"a1.4",
|
||||
"a1.13",
|
||||
"a01.40",
|
||||
"a1.00000040",
|
||||
"a1.40",
|
||||
"a2",
|
||||
"a100",
|
||||
"aa",
|
||||
"aaa",
|
||||
"ab",
|
||||
"abab",
|
||||
"b1",
|
||||
"b3",
|
||||
"b11",
|
||||
"b20",
|
||||
"b20a",
|
||||
"b20b",
|
||||
"", // because of '\n' at the end of the output
|
||||
];
|
||||
|
||||
let result = scene.ucmd().arg("-1v").run();
|
||||
println!("stderr = {:?}", result.stderr);
|
||||
println!("stdout = {:?}", result.stdout);
|
||||
|
||||
assert_eq!(result.stdout.split('\n').collect::<Vec<_>>(), expected);
|
||||
|
||||
let result = scene.ucmd().arg("-1").arg("--sort=version").run();
|
||||
println!("stderr = {:?}", result.stderr);
|
||||
println!("stdout = {:?}", result.stdout);
|
||||
|
||||
assert_eq!(result.stdout.split('\n').collect::<Vec<_>>(), expected);
|
||||
|
||||
let result = scene.ucmd().arg("-a1v").run();
|
||||
println!("stderr = {:?}", result.stderr);
|
||||
println!("stdout = {:?}", result.stdout);
|
||||
|
||||
expected.insert(0, "..");
|
||||
expected.insert(0, ".");
|
||||
assert_eq!(result.stdout.split('\n').collect::<Vec<_>>(), expected,)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue