From e32667d14a7134728eac52f42a759584661d0ccc Mon Sep 17 00:00:00 2001 From: EvoPot Date: Mon, 2 Feb 2026 03:37:56 +0300 Subject: [PATCH] pipec-tests : test using statements in multi file modules --- .../src/ast/usingstatements/mod.rs | 28 +++++++++++++++++-- .../src/ast/usingstatements/multifile.pipec | 24 ++++++++++++++++ .../ast/usingstatements/multifilemod.pipec | 7 +++++ .../{test.pipec => singlefile.pipec} | 0 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 compiler/pipec-tests/src/ast/usingstatements/multifile.pipec create mode 100644 compiler/pipec-tests/src/ast/usingstatements/multifilemod.pipec rename compiler/pipec-tests/src/ast/usingstatements/{test.pipec => singlefile.pipec} (100%) diff --git a/compiler/pipec-tests/src/ast/usingstatements/mod.rs b/compiler/pipec-tests/src/ast/usingstatements/mod.rs index 99f7dc3..5a0d08d 100644 --- a/compiler/pipec-tests/src/ast/usingstatements/mod.rs +++ b/compiler/pipec-tests/src/ast/usingstatements/mod.rs @@ -1,8 +1,7 @@ #[test] fn test_using_statements() { { - crate::test_file_generation!("test.pipec",scope scope); - println!("{scope:#?}"); + crate::test_file_generation!("singlefile.pipec",scope scope); assert!(scope.symbols.contains_key("func1")); assert!(scope.symbols.contains_key("func2")); assert!(scope.symbols.contains_key("func3")); @@ -26,4 +25,29 @@ fn test_using_statements() { .contains_key("func8") ); } + { + crate::test_file_generation!("multifile.pipec",scope scope); + assert!(scope.symbols.contains_key("func1")); + assert!(scope.symbols.contains_key("func2")); + assert!(scope.symbols.contains_key("func3")); + assert!(scope.symbols.contains_key("func4")); + assert!(scope.symbols.contains_key("func5")); + assert!(scope.symbols.contains_key("func6")); + assert!( + scope + .submodules + .get("multifilemod") + .unwrap() + .symbols + .contains_key("func7") + ); + assert!( + scope + .submodules + .get("multifilemod") + .unwrap() + .symbols + .contains_key("func8") + ); + } } diff --git a/compiler/pipec-tests/src/ast/usingstatements/multifile.pipec b/compiler/pipec-tests/src/ast/usingstatements/multifile.pipec new file mode 100644 index 0000000..03df46d --- /dev/null +++ b/compiler/pipec-tests/src/ast/usingstatements/multifile.pipec @@ -0,0 +1,24 @@ +using mod1\(func1,func2); +using mod2\( +mod3\(func3,func4), +mod4\(func5,func6) +); + +module mod1 { + function func1() => nothing {} + function func2() => nothing {} +} + +module mod2 { + module mod3 { + function func3() => nothing {} + function func4() => nothing {} + } + + module mod4 { + function func5() => nothing {} + function func6() => nothing {} + } +} + +module multifilemod; diff --git a/compiler/pipec-tests/src/ast/usingstatements/multifilemod.pipec b/compiler/pipec-tests/src/ast/usingstatements/multifilemod.pipec new file mode 100644 index 0000000..ec158d4 --- /dev/null +++ b/compiler/pipec-tests/src/ast/usingstatements/multifilemod.pipec @@ -0,0 +1,7 @@ +using mod6\(func7,func8); +module mod6 { + function func7() => nothing {} + function func8() => nothing {} +} +function func9() => nothing {} +function func10() => nothing {} diff --git a/compiler/pipec-tests/src/ast/usingstatements/test.pipec b/compiler/pipec-tests/src/ast/usingstatements/singlefile.pipec similarity index 100% rename from compiler/pipec-tests/src/ast/usingstatements/test.pipec rename to compiler/pipec-tests/src/ast/usingstatements/singlefile.pipec