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 | |
| parent | 0c97eee05e8cd99b17ad17827d79afa739957db1 (diff) | |
test(mingling-pathf): add integration tests for module path analysis
Diffstat (limited to 'mingling_pathf/test/src')
| -rw-r--r-- | mingling_pathf/test/src/directly_mod.rs | 1 | ||||
| -rw-r--r-- | mingling_pathf/test/src/has_sub_mod.rs | 5 | ||||
| -rw-r--r-- | mingling_pathf/test/src/has_sub_mod/sub_mod.rs | 1 | ||||
| -rw-r--r-- | mingling_pathf/test/src/has_sub_use.rs | 4 | ||||
| -rw-r--r-- | mingling_pathf/test/src/has_sub_use/sub_mod.rs | 1 | ||||
| -rw-r--r-- | mingling_pathf/test/src/has_sub_use/sub_use.rs | 1 | ||||
| -rw-r--r-- | mingling_pathf/test/src/lib.rs | 39 | ||||
| -rw-r--r-- | mingling_pathf/test/src/main.rs | 13 | ||||
| -rw-r--r-- | mingling_pathf/test/src/unused.rs | 1 | ||||
| -rw-r--r-- | mingling_pathf/test/src/use_all.rs | 1 |
10 files changed, 67 insertions, 0 deletions
diff --git a/mingling_pathf/test/src/directly_mod.rs b/mingling_pathf/test/src/directly_mod.rs new file mode 100644 index 0000000..09f464e --- /dev/null +++ b/mingling_pathf/test/src/directly_mod.rs @@ -0,0 +1 @@ +pub struct DirectlyModStruct; diff --git a/mingling_pathf/test/src/has_sub_mod.rs b/mingling_pathf/test/src/has_sub_mod.rs new file mode 100644 index 0000000..1c961a1 --- /dev/null +++ b/mingling_pathf/test/src/has_sub_mod.rs @@ -0,0 +1,5 @@ +pub mod sub_mod; + +pub mod directly_sub_mod { + pub struct DirectlySubModStruct; +} diff --git a/mingling_pathf/test/src/has_sub_mod/sub_mod.rs b/mingling_pathf/test/src/has_sub_mod/sub_mod.rs new file mode 100644 index 0000000..2e7ade3 --- /dev/null +++ b/mingling_pathf/test/src/has_sub_mod/sub_mod.rs @@ -0,0 +1 @@ +pub struct HasSubModStruct; diff --git a/mingling_pathf/test/src/has_sub_use.rs b/mingling_pathf/test/src/has_sub_use.rs new file mode 100644 index 0000000..c645034 --- /dev/null +++ b/mingling_pathf/test/src/has_sub_use.rs @@ -0,0 +1,4 @@ +mod sub_use; +pub use sub_use::*; + +pub mod sub_mod; diff --git a/mingling_pathf/test/src/has_sub_use/sub_mod.rs b/mingling_pathf/test/src/has_sub_use/sub_mod.rs new file mode 100644 index 0000000..76dde62 --- /dev/null +++ b/mingling_pathf/test/src/has_sub_use/sub_mod.rs @@ -0,0 +1 @@ +pub struct SubModInSubUseStruct; diff --git a/mingling_pathf/test/src/has_sub_use/sub_use.rs b/mingling_pathf/test/src/has_sub_use/sub_use.rs new file mode 100644 index 0000000..ad8736d --- /dev/null +++ b/mingling_pathf/test/src/has_sub_use/sub_use.rs @@ -0,0 +1 @@ +pub struct HasSubUseStruct; 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"); +} diff --git a/mingling_pathf/test/src/main.rs b/mingling_pathf/test/src/main.rs new file mode 100644 index 0000000..7a66e93 --- /dev/null +++ b/mingling_pathf/test/src/main.rs @@ -0,0 +1,13 @@ +#![allow(unused)] + +pub mod directly_mod; + +pub mod has_sub_mod; + +mod has_sub_use; +pub use has_sub_use::*; + +mod use_all; +pub use use_all::*; + +fn main() {} diff --git a/mingling_pathf/test/src/unused.rs b/mingling_pathf/test/src/unused.rs new file mode 100644 index 0000000..2b0984a --- /dev/null +++ b/mingling_pathf/test/src/unused.rs @@ -0,0 +1 @@ +// This file should not be scanned diff --git a/mingling_pathf/test/src/use_all.rs b/mingling_pathf/test/src/use_all.rs new file mode 100644 index 0000000..b26a83d --- /dev/null +++ b/mingling_pathf/test/src/use_all.rs @@ -0,0 +1 @@ +pub struct UseAllStruct; |
