From 294eb4612cd668521faa48711297196f00af61d9 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 20 Jul 2018 16:18:59 +0200 Subject: hush: fix word splitting in ${v:+ARG} - dollar_altvalue1 test ash might be a bit buggy, need to investigate dollar_altvalue9 test function old new delta expand_one_var 1639 2236 +597 expand_variables 112 128 +16 expand_vars_to_list 1117 1097 -20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 613/-20) Total: 593 bytes Signed-off-by: Denys Vlasenko --- .../hush_test/hush-quoting/dollar_altvalue9.right | 24 ++++++++++++++++++++++ .../hush_test/hush-quoting/dollar_altvalue9.tests | 17 +++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 shell/hush_test/hush-quoting/dollar_altvalue9.right create mode 100755 shell/hush_test/hush-quoting/dollar_altvalue9.tests (limited to 'shell/hush_test/hush-quoting') diff --git a/shell/hush_test/hush-quoting/dollar_altvalue9.right b/shell/hush_test/hush-quoting/dollar_altvalue9.right new file mode 100644 index 000000000..fc6c2697c --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_altvalue9.right @@ -0,0 +1,24 @@ +Unquoted 1: +|a| +|x y| +|1| +|2| +|1 2| +|A| +|B| +|C D| +|zb| +Quoted 1: +|a 'x y' 1 2 '' 1 2 A B C D zb| +Unquoted 2: +|ax y| +|1| +|2| +|1 2| +|A| +|B| +|C D| +|z| +|b| +Quoted 2: +|a 'x y' 1 2 '' 1 2 A B C D z b| diff --git a/shell/hush_test/hush-quoting/dollar_altvalue9.tests b/shell/hush_test/hush-quoting/dollar_altvalue9.tests new file mode 100755 index 000000000..27a6f4f3c --- /dev/null +++ b/shell/hush_test/hush-quoting/dollar_altvalue9.tests @@ -0,0 +1,17 @@ +f() { for i; do echo "|$i|"; done; } + +echo Unquoted 1: +x='1 2'; f a${x:+ 'x y' $x '' "$x" `echo A B` "`echo C D`" z}b +echo Quoted 1: +x='1 2'; f "a${x:+ 'x y' $x '' "$x" `echo A B` "`echo C D`" z}b" + +echo Unquoted 2: +x='1 2'; f a${x:+'x y' $x '' "$x" `echo A B` "`echo C D`" z }b +echo Quoted 2: +x='1 2'; f "a${x:+ 'x y' $x '' "$x" `echo A B` "`echo C D`" z }b" + +#echo Unquoted 3: +#e= +#x='1 2'; f a${x:+'x y' $x '' "$x" $e $e "$e" $e `echo A B` "`echo C D`" z }b +#echo Quoted 3: +#x='1 2'; f "a${x:+ 'x y' $x '' "$x" $e $e "$e" $e `echo A B` "`echo C D`" z }b" -- cgit v1.2.3