mirror of
https://github.com/nushell/nushell.git
synced 2025-08-09 20:27:44 +02:00
fix(metadata set): return error when both --datasource-filepath and -datasource-ls are used (#16049)
# Description This PR improves the `metadata set` command by returning a clear error when both `--datasource-filepath` and `--datasource-ls` flags are used together. These flags are meant to be mutually exclusive, and previously this conflicting usage was silently ignored. # User-Facing Changes * Users will now see an error message if they use both `--datasource-filepath` and `--datasource-ls` together in `metadata set`. # Tests + Formatting * [x] Added test at `crates/nu-command/tests/commands/debug/metadata_set.rs` to verify the error behavior. * [x] Ran `cargo fmt --all -- --check` * [x] Ran `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` * [x] Ran `cargo test --workspace` # After Submitting N/A
This commit is contained in:
43
crates/nu-command/tests/commands/debug/metadata_set.rs
Normal file
43
crates/nu-command/tests/commands/debug/metadata_set.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use nu_test_support::nu;
|
||||
use nu_test_support::pipeline;
|
||||
|
||||
#[test]
|
||||
fn errors_on_conflicting_metadata_flags() {
|
||||
let actual = nu!(
|
||||
cwd: ".", pipeline(
|
||||
r#"
|
||||
echo "foo" | metadata set --datasource-filepath foo.txt --datasource-ls
|
||||
"#
|
||||
));
|
||||
|
||||
assert!(actual.err.contains("cannot use `--datasource-filepath`"));
|
||||
assert!(actual.err.contains("with `--datasource-ls`"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn works_with_datasource_filepath() {
|
||||
let actual = nu!(
|
||||
cwd: ".", pipeline(
|
||||
r#"
|
||||
echo "foo"
|
||||
| metadata set --datasource-filepath foo.txt
|
||||
| metadata
|
||||
"#
|
||||
));
|
||||
|
||||
assert!(actual.out.contains("foo.txt"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn works_with_datasource_ls() {
|
||||
let actual = nu!(
|
||||
cwd: ".", pipeline(
|
||||
r#"
|
||||
echo "foo"
|
||||
| metadata set --datasource-ls
|
||||
| metadata
|
||||
"#
|
||||
));
|
||||
|
||||
assert!(actual.out.contains("ls"));
|
||||
}
|
@ -1 +1,2 @@
|
||||
mod metadata_set;
|
||||
mod timeit;
|
||||
|
Reference in New Issue
Block a user