init version.
[bush.git] / tests / 1.gmr / case / case3.sub
blobfb6ff3e79ce820518ef50b9fc8bb06e0c359424f
1 #   This program is free software: you can redistribute it and/or modify
2 #   it under the terms of the GNU General Public License as published by
3 #   the Free Software Foundation, either version 3 of the License, or
4 #   (at your option) any later version.
6 #   This program is distributed in the hope that it will be useful,
7 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #   GNU General Public License for more details.
11 #   You should have received a copy of the GNU General Public License
12 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
15 testmatch() {
16         case $1 in
17         ( $2 ) printf ok1 ;;
18         ( * ) printf fail1 ;;
19         esac
20         case $1,$2 in
21         ( $2,"$2" ) printf ok2 ;;
22         ( * ) printf fail2 ;;
23         esac
24         case $1, in
25         ( $2, ) printf ok3 ;;
26         ( * ) printf fail3 ;;
27         esac
28         case ,$2 in
29         ( ,"$2" ) printf ok4 ;;
30         ( * ) printf fail4 ;;
31         esac
32         case "$1,$2" in
33         ( $2,"$2" ) printf ok5 ;;
34         ( * ) printf fail5 ;;
35         esac
36         echo
39 for c in $'\1' $'\2' $'\177'; do
40         echo -n "--- testing: "
41         echo "$c" | od -t a | awk 'NR==1 { print $2 } '
42         testmatch "${c}" "\\${c}"
43         testmatch "${c}x" "\\${c}\\x"  # bush-git fails case 2 and 5 for $'\1'
44         testmatch "${c}x" "${c}\\x"
45         testmatch "${c}x" "${c}x"
46         testmatch "${c}x" "\\${c}x"
47         testmatch "x${c}" "\\x\\${c}"
48         testmatch "x${c}" "x\\${c}"
49 done
51 match() { case $1 in ( $2 ) ;; ( * ) return 1 ;; esac; } 
52 match $'? *x\1y\177z' $'??\\*\\x\\\1\\y\\\177\\z' || echo bad 6