2 bashname=bash${BASH_VERSION%%.*}
4 # tests for Posix grammar special cases
7 ${THIS_SH} -c 'for invalid-name in a b c; do echo error; done' $bashname
9 # Posix grammar rule 6: third word in FOR or SELECT
10 for i; do echo; done; echo in
11 for i; do echo in; done
12 for i do echo in; done
14 select i; do echo; done; echo in
15 select i; do echo in; done; echo in
16 select i do echo in; done; echo in
18 # Posix grammar rule 4: when PATTERN == ESAC, return ESAC
19 ${THIS_SH} -c 'case x in esac) echo done; esac' $bashname
21 # Posix grammar rule 6: third word in CASE
22 ${THIS_SH} -c 'case in in in) echo in; esac;' $bashname
23 ${THIS_SH} -c 'case in do do) echo in; esac' $bashname
25 # Posix grammar rule 8: function NAME
26 ${THIS_SH} -o posix -c 'for()
31 for for in for; do echo in; echo done; done
33 ${THIS_SH} -c 'for (( i = 0; i < 5; i++ )) do : ; done' $bashname
34 ${THIS_SH} -c 'for (( i = 0; i < 5; i++ )) { : ; }' $bashname
36 # bug report: IN turning on unwanted alias expansion
37 ${THIS_SH} -o posix -c '
45 ${THIS_SH} -o posix -c '