nu_path/
assert_path_eq.rs1#[macro_export]
10macro_rules! assert_path_eq {
11 ($left:expr, $right:expr $(,)?) => {
12 assert_eq!(
13 AsRef::<Path>::as_ref(&$left).to_str().unwrap(),
14 AsRef::<Path>::as_ref(&$right).to_str().unwrap()
15 )
16 };
17}
18
19#[macro_export]
20macro_rules! assert_path_ne {
21 ($left:expr, $right:expr $(,)?) => {
22 assert_ne!(
23 AsRef::<Path>::as_ref(&$left).to_str().unwrap(),
24 AsRef::<Path>::as_ref(&$right).to_str().unwrap()
25 )
26 };
27}
28
29#[cfg(test)]
30mod test {
31 use std::path::{Path, PathBuf};
32
33 #[test]
34 fn assert_path_eq_works() {
35 assert_path_eq!(PathBuf::from("/foo/bar"), Path::new("/foo/bar"));
36 assert_path_eq!(PathBuf::from("/foo/bar"), String::from("/foo/bar"));
37 assert_path_eq!(PathBuf::from("/foo/bar"), "/foo/bar");
38 assert_path_eq!(Path::new("/foo/bar"), String::from("/foo/bar"));
39 assert_path_eq!(Path::new("/foo/bar"), "/foo/bar");
40 assert_path_eq!(Path::new(r"\foo\bar"), r"\foo\bar");
41
42 assert_path_ne!(PathBuf::from("/foo/bar/."), Path::new("/foo/bar"));
43 assert_path_ne!(PathBuf::from("/foo/bar/."), String::from("/foo/bar"));
44 assert_path_ne!(PathBuf::from("/foo/bar/."), "/foo/bar");
45 assert_path_ne!(Path::new("/foo/./bar"), String::from("/foo/bar"));
46 assert_path_ne!(Path::new("/foo/./bar"), "/foo/bar");
47 assert_path_ne!(Path::new(r"\foo\bar"), r"/foo/bar");
48 assert_path_ne!(Path::new(r"/foo/bar"), r"\foo\bar");
49 }
50}