(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'diff --stat-count'>)} spids: [7] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <setup>)} { (SQ <'\n'> <'\t>a &&\n'> <'\t>b &&\n'> <'\t>c &&\n'> <'\t>d &&\n'> <'\tgit add a b c d &&\n'> <'\tgit commit -m initial\n'> ) } ) (C {<test_expect_success>} {(SQ <'mode-only change show as a 0-line change'>)} { (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\ttest_chmod +x b d &&\n'> <'\techo a >a &&\n'> <'\techo c >c &&\n'> <'\tcat >expect <<-\\EOF &&\n'> <'\t a | 1 +\n'> <'\t b | 0\n'> <'\t ...\n'> <'\t 4 files changed, 2 insertions(+)\n'> <'\tEOF\n'> <'\tgit diff --stat --stat-count=2 HEAD >actual &&\n'> <'\ttest_i18ncmp expect actual\n'> ) } ) (C {<test_expect_success>} {(SQ <'binary changes do not count in lines'>)} { (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\techo a >a &&\n'> <'\techo c >c &&\n'> <'\tcat "$TEST_DIRECTORY"/test-binary-1.png >d &&\n'> <'\tcat >expect <<-\\EOF &&\n'> <'\t a | 1 +\n'> <'\t c | 1 +\n'> <'\t ...\n'> <'\t 3 files changed, 2 insertions(+)\n'> <'\tEOF\n'> <'\tgit diff --stat --stat-count=2 >actual &&\n'> <'\ttest_i18ncmp expect actual\n'> ) } ) (C {<test_expect_success>} {(SQ <'exclude unmerged entries from total file count'>)} { (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\techo a >a &&\n'> <'\techo b >b &&\n'> <'\tgit ls-files -s a >x &&\n'> <'\tgit rm -f d &&\n'> <'\tfor stage in 1 2 3\n'> <'\tdo\n'> <'\t\tsed -e "s/ 0\ta/ $stage\td/" x\n'> <'\tdone |\n'> <'\tgit update-index --index-info &&\n'> <'\techo d >d &&\n'> <'\tcat >expect <<-\\EOF &&\n'> <'\t a | 1 +\n'> <'\t b | 1 +\n'> <'\t ...\n'> <'\t 3 files changed, 3 insertions(+)\n'> <'\tEOF\n'> <'\tgit diff --stat --stat-count=2 >actual &&\n'> <'\ttest_i18ncmp expect actual\n'> ) } ) (C {<test_done>}) ] )