summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-vars/param_expand_assign.tests
blob: 149cb20dfb1d10e90a2ab35d4493daae563504c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# first try some invalid patterns (do in subshell due to parsing error)
"$THIS_SH" -c 'echo ${=}'
"$THIS_SH" -c 'echo ${:=}'

# now some funky ones
"$THIS_SH" -c 'echo ${#=}'
"$THIS_SH" -c 'echo ${#:=}'

# should error out
"$THIS_SH" -c 'set --; echo _${1=}'
"$THIS_SH" -c 'set --; echo _${1:=}'
"$THIS_SH" -c 'set --; echo _${1=word}'
"$THIS_SH" -c 'set --; echo _${1:=word}'

# should not error
"$THIS_SH" -c 'set aa; echo _${1=}'
"$THIS_SH" -c 'set aa; echo _${1:=}'
"$THIS_SH" -c 'set aa; echo _${1=word}'
"$THIS_SH" -c 'set aa; echo _${1:=word}'

# should work fine
unset f; echo _$f
unset f; echo _${f=}
unset f; echo _${f:=}
unset f; echo _${f=word}
unset f; echo _${f:=word}

f=; echo _$f
f=; echo _${f=}
f=; echo _${f:=}
f=; echo _${f=word}
f=; echo _${f:=word}

f=fff; echo _$f
f=fff; echo _${f=}
f=fff; echo _${f:=}
f=fff; echo _${f=word}
f=fff; echo _${f:=word}