File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed
deno_task_shell/src/shell Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,7 @@ use crate::shell::types::FutureExecuteResult;
35
35
use crate :: shell:: types:: ShellPipeReader ;
36
36
use crate :: shell:: types:: ShellPipeWriter ;
37
37
use crate :: shell:: types:: ShellState ;
38
+ use crate :: shell:: types:: TextPart :: Text as OtherText ;
38
39
39
40
use crate :: parser:: Arithmetic ;
40
41
use crate :: parser:: ArithmeticPart ;
@@ -1239,7 +1240,11 @@ impl VariableModifier {
1239
1240
match self {
1240
1241
VariableModifier :: DefaultValue ( default_value) => {
1241
1242
match state. get_var ( name) {
1242
- Some ( v) => Ok ( ( v. clone ( ) . into ( ) , None ) ) ,
1243
+ Some ( v) => {
1244
+ let t: Text =
1245
+ Text :: new ( [ OtherText ( v. clone ( ) . to_string ( ) ) ] . to_vec ( ) ) ;
1246
+ Ok ( ( t, None ) )
1247
+ }
1243
1248
None => {
1244
1249
let v = evaluate_word ( default_value. clone ( ) , state, stdin, stderr)
1245
1250
. await
@@ -1470,7 +1475,9 @@ fn evaluate_word_parts(
1470
1475
} else if let Some ( val) =
1471
1476
state. get_var ( & name) . map ( |v| v. to_string ( ) )
1472
1477
{
1473
- Ok ( Some ( val. into ( ) ) )
1478
+ let t: Text =
1479
+ Text :: new ( [ OtherText ( val. clone ( ) . to_string ( ) ) ] . to_vec ( ) ) ;
1480
+ Ok ( Some ( t) )
1474
1481
} else {
1475
1482
Err ( miette:: miette!( "Undefined variable: {}" , name) )
1476
1483
}
Original file line number Diff line number Diff line change @@ -53,7 +53,13 @@ async fn commands() {
53
53
54
54
TestBuilder :: new ( )
55
55
. command ( r#"TEST="1 2" ; echo $TEST"# )
56
- . assert_stdout ( "1 2\n " )
56
+ . assert_stdout ( "1 2\n " )
57
+ . run ( )
58
+ . await ;
59
+
60
+ TestBuilder :: new ( )
61
+ . command ( r#"TEST="1 2 " ; echo "${TEST:-}""# )
62
+ . assert_stdout ( "1 2 \n " )
57
63
. run ( )
58
64
. await ;
59
65
You can’t perform that action at this time.
0 commit comments