improve of cmpl.
[bush.git] / tests / casemod.tests
blob56ab20d956ed5b9a6b76b1fe45e20628e96f736f
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/>.
14 S1=acknowledgement
15 S2=oenophile
17 echo ${S1^}
18 echo ${S1^^}
20 echo ${S2^[aeiou]}
21 echo ${S2^^[aeiou]}
23 U1=${S1^^}
24 U2=${S2^^}
26 echo ${U1,}
27 echo ${U1,,}
29 echo ${U2,}
30 echo ${U2,[AEIOU]}
31 echo ${U2,,[AEIOU]}
33 A1=( $S1 $S2 )
35 echo ${A1[@]^[aeiou]}
36 echo ${A1[@]^^[aeiou]}
38 A2=( $U1 $U2 )
40 echo ${A2[@],[AEIOU]}
41 echo ${A2[@],,[AEIOU]}
43 echo ${A2[@],?}
44 echo ${A2[@],,?}
46 declare -A AA1 AA2
48 AA1[ack]=$S1
49 AA1[oen]=$S2
51 echo ${AA1[@]^}
52 echo ${AA1[@]^^}
54 echo ${AA1[@]^[aeiou]}
55 echo ${AA1[@]^^[aeiou]}
57 AA2[ACK]=$U1
58 AA2[OEN]=$U2
60 echo ${AA2[@],}
61 echo ${AA2[@],,}
63 echo ${AA2[@],[AEIOU]}
64 echo ${AA2[@],,[AEIOU]}
66 set -- $S1 $S2
68 echo ${@^}
69 echo ${@^^}
72 echo ${S1^[rstlne]} ${S2^[rstlne]}
73 echo ${S1^^[rstlne]} ${S2^^[rstlne]}
75 echo ${@^[rstlne]}
76 echo ${@^^[rstlne]}
78 echo ${S1,[rstlne]} ${S2,[rstlne]}
79 echo ${S1,,[rstlne]} ${S2,,[rstlne]}
81 echo ${@,[rstlne]}
82 echo ${@,,[rstlne]}
84 echo ${@^?}
85 echo ${@^^?}
87 # make sure that multiple words in the string are handled as other expansions
88 TEXT="Be Conservative in what you send and Liberal in what you accept"
89 TEXT2="be conservative in what you send and liberal in what you accept"
91 declare -u foo
92 foo=$TEXT
93 echo $foo
95 declare -l bar
96 bar=$TEXT
97 echo $bar
99 declare -c qux
100 qux=$TEXT
101 echo $qux
102 qux=$TEXT2
103 echo $qux
105 echo ${TEXT,}
106 echo ${TEXT,,}
108 echo ${TEXT^}
109 echo ${TEXT^^}
111 echo ${TEXT2^}
112 echo ${TEXT2^^}
114 M1=${S1^^[aeiou]}
115 M2=${U2,,[AEIOU]}
117 #echo ${M1} ${M1~}
118 #echo ${M2} ${M2~~}
120 declare -l lower=aBcDe
121 lower+=XyZ
122 echo $lower
124 declare -u upper=aBcDe
125 upper+=xYZ
126 echo $upper