1use std::path::{Path, PathBuf};
6
7pub 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}