@@ -6,20 +6,20 @@ test_description='wildmatch tests'
66
77match () {
88 if [ $1 = 1 ]; then
9- test_expect_success " wildmatch: match '$3 ' '$4 '" "
9+ test_expect_success " wildmatch: match '$3 ' '$4 '" "
1010 test-wildmatch wildmatch '$3 ' '$4 '
1111 "
1212 else
13- test_expect_success " wildmatch: no match '$3 ' '$4 '" "
13+ test_expect_success " wildmatch: no match '$3 ' '$4 '" "
1414 ! test-wildmatch wildmatch '$3 ' '$4 '
1515 "
1616 fi
1717 if [ $2 = 1 ]; then
18- test_expect_success " fnmatch: match '$3 ' '$4 '" "
18+ test_expect_success " fnmatch: match '$3 ' '$4 '" "
1919 test-wildmatch fnmatch '$3 ' '$4 '
2020 "
2121 elif [ $2 = 0 ]; then
22- test_expect_success " fnmatch: no match '$3 ' '$4 '" "
22+ test_expect_success " fnmatch: no match '$3 ' '$4 '" "
2323 ! test-wildmatch fnmatch '$3 ' '$4 '
2424 "
2525# else
@@ -29,13 +29,25 @@ match() {
2929 fi
3030}
3131
32+ imatch () {
33+ if [ $1 = 1 ]; then
34+ test_expect_success " iwildmatch: match '$2 ' '$3 '" "
35+ test-wildmatch iwildmatch '$2 ' '$3 '
36+ "
37+ else
38+ test_expect_success " iwildmatch: no match '$2 ' '$3 '" "
39+ ! test-wildmatch iwildmatch '$2 ' '$3 '
40+ "
41+ fi
42+ }
43+
3244pathmatch () {
3345 if [ $1 = 1 ]; then
34- test_expect_success " pathmatch: match '$2 ' '$3 '" "
46+ test_expect_success " pathmatch: match '$2 ' '$3 '" "
3547 test-wildmatch pathmatch '$2 ' '$3 '
3648 "
3749 else
38- test_expect_success " pathmatch: no match '$2 ' '$3 '" "
50+ test_expect_success " pathmatch: no match '$2 ' '$3 '" "
3951 ! test-wildmatch pathmatch '$2 ' '$3 '
4052 "
4153 fi
@@ -235,4 +247,35 @@ pathmatch 1 abcXdefXghi '*X*i'
235247pathmatch 1 ab/cXd/efXg/hi ' */*X*/*/*i'
236248pathmatch 1 ab/cXd/efXg/hi ' *Xg*i'
237249
250+ # Case-sensitivy features
251+ match 0 x ' a' ' [A-Z]'
252+ match 1 x ' A' ' [A-Z]'
253+ match 0 x ' A' ' [a-z]'
254+ match 1 x ' a' ' [a-z]'
255+ match 0 x ' a' ' [[:upper:]]'
256+ match 1 x ' A' ' [[:upper:]]'
257+ match 0 x ' A' ' [[:lower:]]'
258+ match 1 x ' a' ' [[:lower:]]'
259+ match 0 x ' A' ' [B-Za]'
260+ match 1 x ' a' ' [B-Za]'
261+ match 0 x ' A' ' [B-a]'
262+ match 1 x ' a' ' [B-a]'
263+ match 0 x ' z' ' [Z-y]'
264+ match 1 x ' Z' ' [Z-y]'
265+
266+ imatch 1 ' a' ' [A-Z]'
267+ imatch 1 ' A' ' [A-Z]'
268+ imatch 1 ' A' ' [a-z]'
269+ imatch 1 ' a' ' [a-z]'
270+ imatch 1 ' a' ' [[:upper:]]'
271+ imatch 1 ' A' ' [[:upper:]]'
272+ imatch 1 ' A' ' [[:lower:]]'
273+ imatch 1 ' a' ' [[:lower:]]'
274+ imatch 1 ' A' ' [B-Za]'
275+ imatch 1 ' a' ' [B-Za]'
276+ imatch 1 ' A' ' [B-a]'
277+ imatch 1 ' a' ' [B-a]'
278+ imatch 1 ' z' ' [Z-y]'
279+ imatch 1 ' Z' ' [Z-y]'
280+
238281test_done
0 commit comments