mirror of
https://github.com/nushell/nushell.git
synced 2025-08-14 08:28:37 +02:00
Allow recursive module dirs; Require mod.nu in dirs (#9185)
This commit is contained in:
@ -641,6 +641,27 @@ fn module_dir() {
|
||||
assert_eq!(actual.out, "spambaz");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn module_dir_deep() {
|
||||
let import = "use samples/spam";
|
||||
|
||||
let inp = &[import, "spam bacon"];
|
||||
let actual_repl = nu!(cwd: "tests/modules", pipeline(&inp.join("; ")));
|
||||
assert_eq!(actual_repl.out, "bacon");
|
||||
|
||||
let inp = &[import, "spam bacon foo"];
|
||||
let actual_repl = nu!(cwd: "tests/modules", pipeline(&inp.join("; ")));
|
||||
assert_eq!(actual_repl.out, "bacon foo");
|
||||
|
||||
let inp = &[import, "spam bacon beans"];
|
||||
let actual_repl = nu!(cwd: "tests/modules", pipeline(&inp.join("; ")));
|
||||
assert_eq!(actual_repl.out, "beans");
|
||||
|
||||
let inp = &[import, "spam bacon beans foo"];
|
||||
let actual_repl = nu!(cwd: "tests/modules", pipeline(&inp.join("; ")));
|
||||
assert_eq!(actual_repl.out, "beans foo");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn module_dir_import_twice_no_panic() {
|
||||
let import = "use samples/spam";
|
||||
@ -656,6 +677,13 @@ fn not_allowed_submodule_file() {
|
||||
assert!(actual.err.contains("invalid_module_file_name"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn module_dir_missing_mod_nu() {
|
||||
let inp = &["use samples/missing_mod_nu"];
|
||||
let actual = nu!(cwd: "tests/modules", pipeline(&inp.join("; ")));
|
||||
assert!(actual.err.contains("module_missing_mod_nu_file"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn allowed_local_module() {
|
||||
let inp = &["module spam { module spam {} }"];
|
||||
|
Reference in New Issue
Block a user