remotefs/utils/
path.rs

1//! ## Path
2//!
3//! path utilities
4
5use std::path::{Path, PathBuf};
6
7/// Absolutize target path if relative.
8pub fn absolutize(wrkdir: &Path, target: &Path) -> PathBuf {
9    match target.is_absolute() {
10        true => target.to_path_buf(),
11        false => {
12            let mut p: PathBuf = wrkdir.to_path_buf();
13            p.push(target);
14            p
15        }
16    }
17}
18
19#[cfg(test)]
20mod test {
21
22    use super::*;
23
24    #[test]
25    fn absolutize_path() {
26        assert_eq!(
27            absolutize(&Path::new("/home/omar"), &Path::new("readme.txt")).as_path(),
28            Path::new("/home/omar/readme.txt")
29        );
30        assert_eq!(
31            absolutize(&Path::new("/home/omar"), &Path::new("/tmp/readme.txt")).as_path(),
32            Path::new("/tmp/readme.txt")
33        );
34    }
35}