summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-11-13 16:39:26 -0600
committerToby Vincent <tobyv13@gmail.com>2022-11-13 16:39:26 -0600
commit082d11db68efa63f6da1be29cc9dc95b8f9e1735 (patch)
tree81396801f20aa6e3007c702429123eaf16266aed /src
parent2384c24f523edad42c97d96c6bb00c1013353144 (diff)
test(paths): clean up path tests
Diffstat (limited to 'src')
-rw-r--r--src/paths.rs45
1 files changed, 20 insertions, 25 deletions
diff --git a/src/paths.rs b/src/paths.rs
index 719eec4..8f0153c 100644
--- a/src/paths.rs
+++ b/src/paths.rs
@@ -54,53 +54,48 @@ impl Iterator for Paths {
#[cfg(test)]
mod tests {
- use std::fs;
-
use super::*;
+ use std::fs;
#[test]
fn test_iteration() {
- let test_dir = tempfile::Builder::new()
+ let temp_dir = tempfile::Builder::new()
.tempdir()
- .expect("Failed to create tmp directory");
-
- let test_path = test_dir.path().to_owned();
-
- let mut projects = Vec::from([
- test_path.join("projects"),
- test_path.join("projects/project1"),
- test_path.join("projects/project2"),
- test_path.join("project3"),
- test_path.join("other_projects/project3"),
- ]);
+ .unwrap()
+ .path()
+ .to_owned();
- projects.iter().for_each(|project| {
- fs::create_dir_all(project).expect("Failed to create test project directory");
- });
+ let project_dir = temp_dir.join("project_dir");
+ let project1 = temp_dir.join("project_dir/project1");
+ let project2 = temp_dir.join("project_dir/project2");
+ let project3 = temp_dir.join("project3");
+ let project4 = temp_dir.join("subdir/project4");
- let directories = Paths::new(Vec::from([
+ let paths = Paths::from(Vec::from([
PathEntry {
- path: test_path.join("projects"),
+ path: project_dir.to_owned(),
hidden: false,
recurse: Some(1),
},
PathEntry {
- path: test_path.join("project3"),
+ path: project3.to_owned(),
hidden: false,
recurse: Some(0),
},
PathEntry {
- path: test_path.join("other_projects/project3"),
+ path: project4.to_owned(),
hidden: false,
recurse: Some(0),
},
]));
- let mut actual = directories.into_iter().collect::<Vec<PathBuf>>();
+ let mut path_bufs = Vec::from([project_dir, project1, project2, project3, project4]);
+ path_bufs.iter().try_for_each(fs::create_dir_all).unwrap();
+ path_bufs.sort();
- projects.sort();
- actual.sort();
+ let mut results = paths.into_iter().collect::<Vec<PathBuf>>();
+ results.sort();
- assert_eq!(projects, actual);
+ assert_eq!(path_bufs, results);
}
}