Mercurial > vim
comparison runtime/syntax/testdir/input/sh_08.sh @ 32631:f8a2fc7d823f v9.0.1647
patch 9.0.1647: insufficient testing for syntax plugins
Commit: https://github.com/vim/vim/commit/1aa5f1c21fea60fe64cdcdf6990bf43ea5cc78a0
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 22 21:57:51 2023 +0100
patch 9.0.1647: insufficient testing for syntax plugins
Problem: Insufficient testing for syntax plugins.
Solution: Add shell file examples. (Charles Campbell) Create a messages
file for easier debugging and reporting the test results.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 22 Jun 2023 23:00:05 +0200 |
parents | |
children | 448aef880252 |
comparison
equal
deleted
inserted
replaced
32630:7477909c676f | 32631:f8a2fc7d823f |
---|---|
1 #!/bin/ksh -p | |
2 | |
3 # Note that this is special test file for ksh. sh is an extra file. | |
4 # Note too, that this file contains ONLY things which works for ksh BUT NOT | |
5 # for sh | |
6 | |
7 # This all should be OK | |
8 | |
9 # Several keywords without any quotes! | |
10 # Case 1a. Several Constants | |
11 [ -t 0 ] && date | |
12 Variable1=${VariableA:-This is a Text} | |
13 Variable2=${VariableA:=This is a Text} | |
14 Variable3=${VariableA:?This is a Text} | |
15 echo "$Variable1" ; echo "$Variable2" ; echo "$Variable3" | |
16 | |
17 # Case 1b. Variable and Constant | |
18 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
19 Variable1=${VariableA:-$HOME This is a Text} | |
20 Variable2=${VariableA:=$HOME This is a Text} | |
21 Variable3=${VariableA:?$HOME This is a Text} | |
22 echo "$Variable1" ; echo "$Variable2" ; echo "$Variable3" | |
23 | |
24 # Case 1c. Constant and Variable | |
25 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
26 Variable1=${VariableA:-This is a Text in $HOME} | |
27 Variable2=${VariableA:=This is a Text in $HOME} | |
28 Variable3=${VariableA:+This is a Text in $HOME} #! :+ is bash-only, error here expected | |
29 Variable1=${VariableA:-This is a Text in $HOME too} | |
30 Variable2=${VariableA:=This is a Text in $HOME too} | |
31 Variable3=${VariableA:+This is a Text in $HOME too} | |
32 echo "$Variable1" ; echo "$Variable2" ; echo "$Variable3" | |
33 | |
34 # Case 1d. More Variables and Constants. Starting with a Variable. | |
35 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
36 Variable1=${VariableA:-$SHELL} | |
37 Variable1=${VariableA:-$SHELL This is a Text in $HOME} | |
38 Variable2=${VariableA:=$SHELL This is a Text in $HOME} | |
39 Variable3=${VariableA:+$SHELL This is a Text in $HOME} | |
40 echo "$Variable1" ; echo "$Variable2" ; echo "$Variable3" | |
41 | |
42 # Case 1e. More Constants and Variables. Starting with a Constant. | |
43 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
44 Variable1=${VariableA:-"This is a Text in $HOME $SHELL"} | |
45 Variable1=${VariableA:-This is a Text in $HOME $SHELL} | |
46 Variable2=${VariableA:=This is a Text in $HOME $SHELL} | |
47 Variable3=${VariableA:+This is a Text in $HOME $SHELL} | |
48 echo "$Variable1" ; echo "$Variable2" ; echo "$Variable3" | |
49 | |
50 # Case 1x. The same with ':' | |
51 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
52 : ${VariableA:-This is a Text} | |
53 : ${VariableA:-$HOME This is a Text} | |
54 : ${VariableA:-This is a Text in $HOME} | |
55 : ${VariableA:-$SHELL This is a Text in $HOME} | |
56 : ${VariableA:-This is a Text in $HOME $SHELL} | |
57 | |
58 # Case 1y. The same with ':' and without the ':' in the parameter substitution | |
59 [ -t 0 ] && echo "\n`date`" && unset VariableA | |
60 : ${VariableA-This is a Text} | |
61 : ${VariableA-$HOME This is a Text} | |
62 : ${VariableA-This is a Text in $HOME} | |
63 : ${VariableA-$SHELL This is a Text in $HOME} | |
64 : ${VariableA-This is a Text in $HOME $SHELL} | |
65 | |
66 ################################################################################ | |
67 # | |
68 # This are valid usages for ${Var:?} in ksh! | |
69 # | |
70 Variable4=${Variable4:?This is an Error Message} | |
71 Variable4=${Variable4:?This is an Error Message from `date`} | |
72 | |
73 : ${Variable4:?This is an Error Message} | |
74 : ${Variable4:?This is an Error Message from `date`} | |
75 | |
76 exit $? | |
77 | |
78 # Michael Soulier | |
79 if [ $# -ne 1 ]; then | |
80 echo whatever | |
81 exit 1 | |
82 fi |