git-blame: Use the same tests for git-blame as for git-annotate
[git.git] / t / annotate-tests.sh
1 # This file isn't used as a test script directly, instead it is
2 # sourced from t8001-annotate.sh and t8001-blame.sh.
3
4 test_expect_success \
5     'prepare reference tree' \
6     'echo "1A quick brown fox jumps over the" >file &&
7      echo "lazy dog" >>file &&
8      git add file
9      GIT_AUTHOR_NAME="A" git commit -a -m "Initial."'
10
11 test_expect_success \
12     'check all lines blamed on A' \
13     '[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'
14
15 test_expect_success \
16     'Setup new lines blamed on B' \
17     'echo "2A quick brown fox jumps over the" >>file &&
18      echo "lazy dog" >> file &&
19      GIT_AUTHOR_NAME="B" git commit -a -m "Second."'
20
21 test_expect_success \
22     'Two lines blamed on A' \
23     '[ $($PROG file | awk "{print \$3}" | grep -c "A") == 2 ]'
24
25 test_expect_success \
26     'Two lines blamed on B' \
27     '[ $($PROG file | awk "{print \$3}" | grep -c "B") == 2 ]'
28
29 test_expect_success \
30     'merge-setup part 1' \
31     'git checkout -b branch1 master &&
32      echo "3A slow green fox jumps into the" >> file &&
33      echo "well." >> file &&
34      GIT_AUTHOR_NAME="B1" git commit -a -m "Branch1-1"'
35
36 test_expect_success \
37     'Two lines blamed on A' \
38     '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
39
40 test_expect_success \
41     'Two lines blamed on B' \
42     '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 2 ]'
43
44 test_expect_success \
45     'Two lines blamed on B1' \
46     '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
47
48 test_expect_success \
49     'merge-setup part 2' \
50     'git checkout -b branch2 master &&
51      sed -e "s/2A quick brown/4A quick brown lazy dog/" < file > file.new &&
52      mv file.new file &&
53      GIT_AUTHOR_NAME="B2" git commit -a -m "Branch2-1"'
54
55 test_expect_success \
56     'Two lines blamed on A' \
57     '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
58
59 test_expect_success \
60     'One line blamed on B' \
61     '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
62
63 test_expect_success \
64     'One line blamed on B2' \
65     '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
66
67
68 test_expect_success \
69     'merge-setup part 3' \
70     'git pull . branch1'
71
72 test_expect_success \
73     'Two lines blamed on A' \
74     '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
75
76 test_expect_success \
77     'One line blamed on B' \
78     '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
79
80 test_expect_success \
81     'Two lines blamed on B1' \
82     '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
83
84 test_expect_success \
85     'One line blamed on B2' \
86     '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'