From 78f9d8eb7adc10f1af8977212f24ab3c418a9c2b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 28 Mar 2009 18:55:34 +0000 Subject: add hush tests for parameter expansion --- .../hush_test/hush-vars/param_expand_assign.tests | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 shell/hush_test/hush-vars/param_expand_assign.tests (limited to 'shell/hush_test/hush-vars/param_expand_assign.tests') diff --git a/shell/hush_test/hush-vars/param_expand_assign.tests b/shell/hush_test/hush-vars/param_expand_assign.tests new file mode 100755 index 000000000..1fba556e4 --- /dev/null +++ b/shell/hush_test/hush-vars/param_expand_assign.tests @@ -0,0 +1,38 @@ +# first try some invalid patterns (do in subshell due to parsing error) +hush -c 'echo ${=}' +hush -c 'echo ${:=}' + +# now some funky ones +hush -c 'echo ${#=}' +hush -c 'echo ${#:=}' + +# should error out +hush -c 'set --; echo _${1=}' +hush -c 'set --; echo _${1:=}' +hush -c 'set --; echo _${1=word}' +hush -c 'set --; echo _${1:=word}' + +# should not error +hush -c 'set aa; echo _${1=}' +hush -c 'set aa; echo _${1:=}' +hush -c 'set aa; echo _${1=word}' +hush -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} -- cgit v1.2.3