t / annotate-tests.shon commit git-blame: Use the same tests for git-blame as for git-annotate (8752d11)
   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
   4test_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
  11test_expect_success \
  12    'check all lines blamed on A' \
  13    '[ $(git annotate file | awk "{print \$3}" | grep -c "A") == 2 ]'
  14
  15test_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
  21test_expect_success \
  22    'Two lines blamed on A' \
  23    '[ $($PROG file | awk "{print \$3}" | grep -c "A") == 2 ]'
  24
  25test_expect_success \
  26    'Two lines blamed on B' \
  27    '[ $($PROG file | awk "{print \$3}" | grep -c "B") == 2 ]'
  28
  29test_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
  36test_expect_success \
  37    'Two lines blamed on A' \
  38    '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
  39
  40test_expect_success \
  41    'Two lines blamed on B' \
  42    '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 2 ]'
  43
  44test_expect_success \
  45    'Two lines blamed on B1' \
  46    '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
  47
  48test_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
  55test_expect_success \
  56    'Two lines blamed on A' \
  57    '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
  58
  59test_expect_success \
  60    'One line blamed on B' \
  61    '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
  62
  63test_expect_success \
  64    'One line blamed on B2' \
  65    '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'
  66
  67
  68test_expect_success \
  69    'merge-setup part 3' \
  70    'git pull . branch1'
  71
  72test_expect_success \
  73    'Two lines blamed on A' \
  74    '[ $($PROG file | awk "{print \$3}" | grep -c "^A$") == 2 ]'
  75
  76test_expect_success \
  77    'One line blamed on B' \
  78    '[ $($PROG file | awk "{print \$3}" | grep -c "^B$") == 1 ]'
  79
  80test_expect_success \
  81    'Two lines blamed on B1' \
  82    '[ $($PROG file | awk "{print \$3}" | grep -c "^B1$") == 2 ]'
  83
  84test_expect_success \
  85    'One line blamed on B2' \
  86    '[ $($PROG file | awk "{print \$3}" | grep -c "^B2$") == 1 ]'