t / t4006-diff-mode.shon commit Merge branch 'maint-1.7.11' into maint (e3f2675)
   1#!/bin/sh
   2#
   3# Copyright (c) 2005 Junio C Hamano
   4#
   5
   6test_description='Test mode change diffs.
   7
   8'
   9. ./test-lib.sh
  10
  11sed_script='s/\(:100644 100755\) \('"$_x40"'\) \2 /\1 X X /'
  12
  13test_expect_success 'setup' '
  14        echo frotz >rezrov &&
  15        git update-index --add rezrov &&
  16        tree=`git write-tree` &&
  17        echo $tree
  18'
  19
  20test_expect_success 'chmod' '
  21        test_chmod +x rezrov &&
  22        git diff-index $tree >current &&
  23        sed -e "$sed_script" <current >check &&
  24        echo ":100644 100755 X X M      rezrov" >expected &&
  25        test_cmp expected check
  26'
  27
  28test_expect_success 'prepare binary file' '
  29        git commit -m rezrov &&
  30        printf "\00\01\02\03\04\05\06" >binbin &&
  31        git add binbin &&
  32        git commit -m binbin
  33'
  34
  35test_expect_success '--stat output after text chmod' '
  36        test_chmod -x rezrov &&
  37        echo " 0 files changed" >expect &&
  38        git diff HEAD --stat >actual &&
  39        test_cmp expect actual
  40'
  41
  42test_expect_success '--shortstat output after text chmod' '
  43        git diff HEAD --shortstat >actual &&
  44        test_cmp expect actual
  45'
  46
  47test_expect_success '--stat output after binary chmod' '
  48        test_chmod +x binbin &&
  49        echo " 0 files changed" >expect &&
  50        git diff HEAD --stat >actual &&
  51        test_cmp expect actual
  52'
  53
  54test_expect_success '--shortstat output after binary chmod' '
  55        git diff HEAD --shortstat >actual &&
  56        test_cmp expect actual
  57'
  58
  59test_done