Extra test case.

This commit is contained in:
R-VdP 2023-03-10 21:39:28 +01:00
parent c7a66c76ed
commit 74d422bad6
No known key found for this signature in database

View file

@ -204,7 +204,10 @@ impl EtcTree {
components, components,
delete_action, delete_action,
), ),
_ => todo!(), _ => panic!(
"Unsupported path provided! At path component: {:?}",
component
),
} }
} else { } else {
tree tree
@ -531,19 +534,39 @@ mod tests {
.register_managed_entry(&PathBuf::from("/").join("foo2").join("baz").join("bar")) .register_managed_entry(&PathBuf::from("/").join("foo2").join("baz").join("bar"))
.register_managed_entry(&PathBuf::from("/").join("foo2")) .register_managed_entry(&PathBuf::from("/").join("foo2"))
.register_managed_entry(&PathBuf::from("/").join("foo2").join("baz2")) .register_managed_entry(&PathBuf::from("/").join("foo2").join("baz2"))
.register_managed_entry(&PathBuf::from("/").join("foo2").join("baz2").join("bar")); .register_managed_entry(&PathBuf::from("/").join("foo2").join("baz2").join("bar"))
let tree2 = .register_managed_entry(&PathBuf::from("/").join("foo3").join("baz2").join("bar"));
tree1 let tree2 = tree1
.clone() .clone()
.deactivate_managed_entry(&PathBuf::from("/").join("foo2"), &|p| { .deactivate_managed_entry(&PathBuf::from("/").join("foo2"), &|p| {
println!("Deactivating: {}", p.display()); println!("Deactivating: {}", p.display());
true true
}); })
// Since foo3 is unmanaged, it should not be removed
.deactivate_managed_entry(&PathBuf::from("/").join("foo3"), &|p| {
println!("Deactivating: {}", p.display());
true
});
dbg!(&tree1); dbg!(&tree1);
assert_eq!(tree2.nested.keys().sorted().collect::<Vec<_>>(), ["foo"]); assert_eq!(
tree2.nested.keys().sorted().collect::<Vec<_>>(),
["foo", "foo3"]
);
assert!(tree2
.nested
.get(OsStr::new("foo3"))
.unwrap()
.nested
.get(OsStr::new("baz2"))
.unwrap()
.nested
.keys()
.sorted()
.collect::<Vec<_>>()
.is_empty());
assert_eq!( assert_eq!(
tree1.nested.keys().sorted().collect::<Vec<_>>(), tree1.nested.keys().sorted().collect::<Vec<_>>(),
["foo", "foo2"] ["foo", "foo2", "foo3"]
); );
} }