mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
+15
-3
@@ -54,9 +54,21 @@ directory).", NAME, VERSION);
|
||||
if !matches.free.is_empty() {
|
||||
for path in matches.free.iter() {
|
||||
let p = Path::new(path);
|
||||
let d = p.parent().unwrap().to_str();
|
||||
if d.is_some() {
|
||||
print!("{}", d.unwrap());
|
||||
match p.parent() {
|
||||
Some(d) => {
|
||||
if d.components().next() == None {
|
||||
print!(".")
|
||||
} else {
|
||||
print!("{}", d.to_string_lossy());
|
||||
}
|
||||
}
|
||||
None => {
|
||||
if p.is_absolute() {
|
||||
print!("/");
|
||||
} else {
|
||||
print!(".");
|
||||
}
|
||||
}
|
||||
}
|
||||
print!("{}", separator);
|
||||
}
|
||||
|
||||
@@ -23,3 +23,30 @@ fn test_path_without_trailing_slashes() {
|
||||
|
||||
assert_eq!(out.trim_right(), "/root/alpha/beta/gamma/delta/epsilon");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_root() {
|
||||
let (_, mut ucmd) = testing(UTIL_NAME);
|
||||
let dir = "/";
|
||||
let out = ucmd.arg(dir).run().stdout;
|
||||
|
||||
assert_eq!(out.trim_right(), "/");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_pwd() {
|
||||
let (_, mut ucmd) = testing(UTIL_NAME);
|
||||
let dir = ".";
|
||||
let out = ucmd.arg(dir).run().stdout;
|
||||
|
||||
assert_eq!(out.trim_right(), ".");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_empty() {
|
||||
let (_, mut ucmd) = testing(UTIL_NAME);
|
||||
let dir = "";
|
||||
let out = ucmd.arg(dir).run().stdout;
|
||||
|
||||
assert_eq!(out.trim_right(), ".");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user