Merge branch 'st/levenshtein'
[git] / t / t4202-log.sh
1 #!/bin/sh
2
3 test_description='git log'
4
5 . ./test-lib.sh
6
7 test_expect_success setup '
8
9         echo one >one &&
10         git add one &&
11         test_tick &&
12         git commit -m initial &&
13
14         echo ichi >one &&
15         git add one &&
16         test_tick &&
17         git commit -m second &&
18
19         mkdir a &&
20         echo ni >a/two &&
21         git add a/two &&
22         test_tick &&
23         git commit -m third &&
24
25         echo san >a/three &&
26         git add a/three &&
27         test_tick &&
28         git commit -m fourth &&
29
30         git rm a/three &&
31         test_tick &&
32         git commit -m fifth
33
34 '
35
36 test_expect_success 'diff-filter=A' '
37
38         actual=$(git log --pretty="format:%s" --diff-filter=A HEAD) &&
39         expect=$(echo fourth ; echo third ; echo initial) &&
40         test "$actual" = "$expect" || {
41                 echo Oops
42                 echo "Actual: $actual"
43                 false
44         }
45
46 '
47
48 test_expect_success 'diff-filter=M' '
49
50         actual=$(git log --pretty="format:%s" --diff-filter=M HEAD) &&
51         expect=$(echo second) &&
52         test "$actual" = "$expect" || {
53                 echo Oops
54                 echo "Actual: $actual"
55                 false
56         }
57
58 '
59
60 test_expect_success 'diff-filter=D' '
61
62         actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) &&
63         expect=$(echo fifth) &&
64         test "$actual" = "$expect" || {
65                 echo Oops
66                 echo "Actual: $actual"
67                 false
68         }
69
70 '
71
72 test_expect_success 'setup case sensitivity tests' '
73         echo case >one &&
74         test_tick &&
75         git commit -a -m Second
76 '
77
78 test_expect_success 'log --grep' '
79         echo second >expect &&
80         git log -1 --pretty="tformat:%s" --grep=sec >actual &&
81         test_cmp expect actual
82 '
83
84 test_expect_success 'log -i --grep' '
85         echo Second >expect &&
86         git log -1 --pretty="tformat:%s" -i --grep=sec >actual &&
87         test_cmp expect actual
88 '
89
90 test_expect_success 'log --grep -i' '
91         echo Second >expect &&
92         git log -1 --pretty="tformat:%s" --grep=sec -i >actual &&
93         test_cmp expect actual
94 '
95
96 test_done
97