diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-28 05:59:43 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-28 05:59:43 +0800 |
| commit | 9e0372f9d148a7c340cfab93727a7a3d3db023df (patch) | |
| tree | 8983076c1a27436e7878411d082528116c617054 /mingling_pathf/test/src/lib.rs | |
| parent | 0c97eee05e8cd99b17ad17827d79afa739957db1 (diff) | |
test(mingling-pathf): add integration tests for module path analysis
Diffstat (limited to 'mingling_pathf/test/src/lib.rs')
| -rw-r--r-- | mingling_pathf/test/src/lib.rs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mingling_pathf/test/src/lib.rs b/mingling_pathf/test/src/lib.rs new file mode 100644 index 0000000..9d393c2 --- /dev/null +++ b/mingling_pathf/test/src/lib.rs @@ -0,0 +1,39 @@ +#![cfg(test)] + +use std::{collections::HashMap, env::current_dir}; + +#[test] +fn test_module_pathf() { + let dir = current_dir().unwrap(); + let mapping = mingling_pathf::module_pathf::analyze(&dir) + .unwrap() + .into_iter() + .map(|i| { + let file_path = just_fmt::fmt_path::fmt_path(i.file_path()) + .unwrap() + .display() + .to_string(); + let module_path = i.module_path(); + (file_path, module_path.to_string()) + } + ).collect::<HashMap<String, String>>(); + + assert!(mapping.contains_key("src/has_sub_use/sub_mod.rs")); + assert!(mapping.contains_key("src/has_sub_use/sub_use.rs")); + assert!(mapping.contains_key("src/has_sub_mod/sub_mod.rs")); + assert!(mapping.contains_key("src/has_sub_use.rs")); + assert!(mapping.contains_key("src/has_sub_mod.rs")); + assert!(mapping.contains_key("src/directly_mod.rs")); + assert!(mapping.contains_key("src/use_all.rs")); + assert!(mapping.contains_key("src/main.rs")); + assert!(!mapping.contains_key("src/unused.rs")); + + assert_eq!(mapping.get("src/has_sub_use/sub_mod.rs").unwrap(), "crate::sub_mod"); + assert_eq!(mapping.get("src/has_sub_use/sub_use.rs").unwrap(), "crate"); + assert_eq!(mapping.get("src/has_sub_mod/sub_mod.rs").unwrap(), "crate::has_sub_mod::sub_mod"); + assert_eq!(mapping.get("src/has_sub_use.rs").unwrap(), "crate"); + assert_eq!(mapping.get("src/has_sub_mod.rs").unwrap(), "crate::has_sub_mod"); + assert_eq!(mapping.get("src/directly_mod.rs").unwrap(), "crate::directly_mod"); + assert_eq!(mapping.get("src/use_all.rs").unwrap(), "crate"); + assert_eq!(mapping.get("src/main.rs").unwrap(), "crate"); +} |
