mirror of
https://github.com/nushell/nushell.git
synced 2024-11-22 16:33:37 +01:00
Fix for inconsistency when quoted strings are used with with_env shorthand (#1900)
This commit is contained in:
parent
a915471b38
commit
9567c1f564
@ -29,3 +29,38 @@ fn shorthand_doesnt_reorder_arguments() {
|
||||
|
||||
assert_eq!(actual.out, "firstsecond");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn with_env_shorthand_trims_quotes() {
|
||||
let actual = nu!(
|
||||
cwd: "tests/fixtures/formats",
|
||||
"FOO='BARRRR' echo $nu.env | get FOO"
|
||||
);
|
||||
|
||||
assert_eq!(actual.out, "BARRRR");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn with_env_and_shorthand_same_result() {
|
||||
let actual_shorthand = nu!(
|
||||
cwd: "tests/fixtures/formats",
|
||||
"FOO='BARRRR' echo $nu.env | get FOO"
|
||||
);
|
||||
|
||||
let actual_normal = nu!(
|
||||
cwd: "tests/fixtures/formats",
|
||||
"with-env [FOO BARRRR] {echo $nu.env} | get FOO"
|
||||
);
|
||||
|
||||
assert_eq!(actual_shorthand.out, actual_normal.out);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn with_env_shorthand_nested_quotes() {
|
||||
let actual = nu!(
|
||||
cwd: "tests/fixtures/formats",
|
||||
"FOO='-arg \"hello world\"' echo $nu.env | get FOO"
|
||||
);
|
||||
|
||||
assert_eq!(actual.out, "-arg \"hello world\"");
|
||||
}
|
||||
|
@ -1362,7 +1362,9 @@ fn expand_shorthand_forms(
|
||||
)
|
||||
} else {
|
||||
let original_span = lite_pipeline.commands[0].name.span;
|
||||
let (variable_name, value) = (assignment[0], assignment[1]);
|
||||
let env_value = trim_quotes(assignment[1]);
|
||||
|
||||
let (variable_name, value) = (assignment[0], env_value);
|
||||
let mut lite_pipeline = lite_pipeline.clone();
|
||||
|
||||
if !lite_pipeline.commands[0].args.is_empty() {
|
||||
@ -1377,7 +1379,7 @@ fn expand_shorthand_forms(
|
||||
lite_pipeline,
|
||||
Some((
|
||||
variable_name.to_string().spanned(original_span),
|
||||
value.to_string().spanned(original_span),
|
||||
value.spanned(original_span),
|
||||
)),
|
||||
None,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user