diff options
| author | Peter Stephenson <pws@zsh.org> | 2015-01-06 17:05:17 +0000 |
|---|---|---|
| committer | Peter Stephenson <pws@zsh.org> | 2015-01-08 12:24:00 +0000 |
| commit | c0d01a6fe0c67911650730cf13a2b9a0db16e59b (patch) | |
| tree | 617d685ec8fabe09e1b83874d961436b86b16259 /Test/D08cmdsubst.ztst | |
| parent | 34154/34155: reorder bin_print() to avoid leaking the output descriptor when ... (diff) | |
| download | zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar.gz zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar.bz2 zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar.lz zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar.xz zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.tar.zst zsh-c0d01a6fe0c67911650730cf13a2b9a0db16e59b.zip | |
Fix command substitutions to parse contents as they are read in.
Do this by refactoring misnamed lexsave()/lexrestore() to allow
continuity of history and input.
Add test.
Diffstat (limited to 'Test/D08cmdsubst.ztst')
| -rw-r--r-- | Test/D08cmdsubst.ztst | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Test/D08cmdsubst.ztst b/Test/D08cmdsubst.ztst index 5661b0aaa..a4c69a010 100644 --- a/Test/D08cmdsubst.ztst +++ b/Test/D08cmdsubst.ztst @@ -106,3 +106,45 @@ >34 >" >" OK + + echo $(case foo in + foo) + echo This test worked. + ;; + bar) + echo This test failed in a rather bizarre way. + ;; + *) + echo This test failed. + ;; + esac) +0:Parsing of command substitution with unmatched parentheses: case, basic +>This test worked. + + echo "$(case bar in + foo) + echo This test spoobed. + ;; + bar) + echo This test plurbled. + ;; + *) + echo This test bzonked. + ;; + esac)" +0:Parsing of command substitution with unmatched parentheses: case with quotes +>This test plurbled. + + echo before $( + echo start; echo unpretentious | + while read line; do + case $line in + u*) + print Word began with u + print and ended with a crunch + ;; + esac + done | sed -e 's/Word/Universe/'; echo end + ) after +0:Parsing of command substitution with ummatched parentheses: with frills +>before start Universe began with u and ended with a crunch end after |
