From d33da6d6e25c6c59acebf3821a8fe83246dcce59 Mon Sep 17 00:00:00 2001 From: Steven Enamakel Date: Sun, 20 Sep 2026 10:51:30 +0300 Subject: [PATCH] Test relative workspace containment Co-authored-by: Medulla --- crates/tinytools/src/workspace/test.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/tinytools/src/workspace/test.rs b/crates/tinytools/src/workspace/test.rs index 84a109b..10dcb21 100644 --- a/crates/tinytools/src/workspace/test.rs +++ b/crates/tinytools/src/workspace/test.rs @@ -41,6 +41,16 @@ fn paths_outside_every_root_are_refused() { assert!(!ws.allows(Path::new("/work/agent-b/src/main.rs"))); } +#[test] +fn relative_roots_and_candidates_are_anchored_to_the_current_directory() { + let current_dir = std::env::current_dir().expect("test process has a current directory"); + let ws = WorkspaceDescriptor::new("workspace"); + + assert!(ws.allows(Path::new("workspace/src/lib.rs"))); + assert!(ws.allows(¤t_dir.join("workspace/src/lib.rs"))); + assert!(!ws.allows(Path::new("elsewhere/src/lib.rs"))); +} + #[test] fn dot_segments_are_resolved_before_the_comparison() { let ws = WorkspaceDescriptor::new("/work/agent-a");