forked from extern/nushell
1572808adb
* Filter out empty glob patterns An empty argument to the "glob" command will now produce an empty result. Working towards nushell/nushell#6653. * Run `cargo fmt --all` Just autoformatted the repo so that CI passes and we have a consistent code format across modules. * Treat empty glob argument as error The glob command will now report an empty string argument as an error instead of silently ignoring it. See https://github.com/nushell/nushell/pull/6707#discussion_r993345013. * Add tests for glob command Two small tests for the glob command, one to check that the empty string errors it, and another to sanity check the '*' glob, have been added. * Rename glob sanity check star test Co-authored-by: Kyle Anderson <kyle.anderson@uwaterloo.ca>
40 lines
974 B
Rust
40 lines
974 B
Rust
use nu_test_support::fs::Stub::EmptyFile;
|
|
use nu_test_support::playground::Playground;
|
|
use nu_test_support::{nu, pipeline};
|
|
|
|
#[test]
|
|
fn empty_glob_pattern_triggers_error() {
|
|
Playground::setup("glob_test_1", |dirs, sandbox| {
|
|
sandbox.with_files(vec![
|
|
EmptyFile("yehuda.txt"),
|
|
EmptyFile("jonathan.txt"),
|
|
EmptyFile("andres.txt"),
|
|
]);
|
|
|
|
let actual = nu!(
|
|
cwd: dirs.test(),
|
|
"glob ''",
|
|
);
|
|
|
|
assert!(actual.err.contains("must not be empty"));
|
|
})
|
|
}
|
|
|
|
#[test]
|
|
fn nonempty_glob_lists_matching_paths() {
|
|
Playground::setup("glob_sanity_star", |dirs, sandbox| {
|
|
sandbox.with_files(vec![
|
|
EmptyFile("yehuda.txt"),
|
|
EmptyFile("jonathan.txt"),
|
|
EmptyFile("andres.txt"),
|
|
]);
|
|
|
|
let actual = nu!(
|
|
cwd: dirs.test(),
|
|
pipeline("glob '*' | length"),
|
|
);
|
|
|
|
assert_eq!(actual.out, "3");
|
|
})
|
|
}
|