From 0ed62fa6dddf7cc758aa32042c70cc2a5e2d8ef8 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Wed, 18 Mar 2026 10:20:05 +0800 Subject: Add AbsolutePath pattern to SpaceRootFindPattern --- systems/_framework/space_macro/src/lib.rs | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'systems/_framework/space_macro') diff --git a/systems/_framework/space_macro/src/lib.rs b/systems/_framework/space_macro/src/lib.rs index 7877181..a43e833 100644 --- a/systems/_framework/space_macro/src/lib.rs +++ b/systems/_framework/space_macro/src/lib.rs @@ -23,6 +23,7 @@ pub fn space_root_test_derive(input: TokenStream) -> TokenStream { use framework::space::Space; use std::env::{current_dir, set_current_dir}; use tokio::fs::{create_dir_all, remove_dir_all}; + use framework::space::SpaceRootFindPattern; #[tokio::test] async fn test_create_space() { @@ -31,27 +32,20 @@ pub fn space_root_test_derive(input: TokenStream) -> TokenStream { create_dir_all(&temp_dir).await.unwrap(); set_current_dir(&temp_dir).unwrap(); - let space = Space::new(#name::default()); + let mut space = Space::new(#name::default()); + + match #name::get_pattern() { + SpaceRootFindPattern::AbsolutePath(path_buf) => space.set_override_pattern(Some( + SpaceRootFindPattern::AbsolutePath(temp_dir.join(path_buf)), + )), + _ => {} + } assert!(space.space_dir_current().is_err()); space.init_here().await.unwrap(); assert!(space.space_dir_current().is_ok()); - - let space_dir = space.space_dir_current().unwrap(); - let pattern = <#name as framework::space::SpaceRoot>::get_pattern(); - - match pattern { - framework::space::SpaceRootFindPattern::IncludeDotDir(dir_name) => { - let expected_dir = space_dir.join(dir_name); - assert!(expected_dir.exists(), "Space directory {:?} should exist", expected_dir); - } - framework::space::SpaceRootFindPattern::IncludeFile(file_name) => { - let expected_file = space_dir.join(file_name); - assert!(expected_file.exists(), "Space file {:?} should exist", expected_file); - } - } } } }; -- cgit