(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'git blame'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROG) op: assign_op.Equal rhs: {(SQ <'git blame -c'>)} spids: [14] ) ] ) (C {<.>} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) <'/annotate-tests.sh'>}) (C {<test_expect_success>} {(SQ <'blame untracked file in empty repo'>)} {(SQ <'\n'> <'\t>untracked &&\n'> <'\ttest_must_fail git blame untracked\n'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROG) op: assign_op.Equal rhs: {(SQ <'git blame -c -e'>)} spids: [40] ) ] ) (C {<test_expect_success>} {(SQ <'blame --show-email'>)} { (SQ <'\n'> <'\tcheck_count \\\n'> <'\t\t"<A@test.git>" 1 \\\n'> <'\t\t"<B@test.git>" 1 \\\n'> <'\t\t"<B1@test.git>" 1 \\\n'> <'\t\t"<B2@test.git>" 1 \\\n'> <'\t\t"<author@example.com>" 1 \\\n'> <'\t\t"<C@test.git>" 1 \\\n'> <'\t\t"<D@test.git>" 1 \\\n'> <'\t\t"<E at test dot git>" 1\n'> ) } ) (C {<test_expect_success>} {(SQ <'setup showEmail tests'>)} { (SQ <'\n'> <'\techo "bin: test number 1" >one &&\n'> <'\tgit add one &&\n'> <'\tGIT_AUTHOR_NAME=name1 \\\n'> <'\tGIT_AUTHOR_EMAIL=email1@test.git \\\n'> <'\tgit commit -m First --date="2010-01-01 01:00:00" &&\n'> <'\tcat >expected_n <<-\\EOF &&\n'> <'\t(name1 2010-01-01 01:00:00 +0000 1) bin: test number 1\n'> <'\tEOF\n'> <'\tcat >expected_e <<-\\EOF\n'> <'\t(<email1@test.git> 2010-01-01 01:00:00 +0000 1) bin: test number 1\n'> <'\tEOF\n'> ) } ) (command.ShFunction name: find_blame body: (BraceGroup children:[(C {<sed>} {<-e>} {(SQ <'s/^[^(]*//'>)})]) ) (C {<test_expect_success>} {(SQ <'blame with no options and no config'>)} { (SQ <'\n'> <'\tgit blame one >blame &&\n'> <'\tfind_blame <blame >result &&\n'> <'\ttest_cmp expected_n result\n'> ) } ) (C {<test_expect_success>} {(SQ <'blame with showemail options'>)} { (SQ <'\n'> <'\tgit blame --show-email one >blame1 &&\n'> <'\tfind_blame <blame1 >result &&\n'> <'\ttest_cmp expected_e result &&\n'> <'\tgit blame -e one >blame2 &&\n'> <'\tfind_blame <blame2 >result &&\n'> <'\ttest_cmp expected_e result &&\n'> <'\tgit blame --no-show-email one >blame3 &&\n'> <'\tfind_blame <blame3 >result &&\n'> <'\ttest_cmp expected_n result\n'> ) } ) (C {<test_expect_success>} {(SQ <'blame with showEmail config false'>)} { (SQ <'\n'> <'\tgit config blame.showEmail false &&\n'> <'\tgit blame one >blame1 &&\n'> <'\tfind_blame <blame1 >result &&\n'> <'\ttest_cmp expected_n result &&\n'> <'\tgit blame --show-email one >blame2 &&\n'> <'\tfind_blame <blame2 >result &&\n'> <'\ttest_cmp expected_e result &&\n'> <'\tgit blame -e one >blame3 &&\n'> <'\tfind_blame <blame3 >result &&\n'> <'\ttest_cmp expected_e result &&\n'> <'\tgit blame --no-show-email one >blame4 &&\n'> <'\tfind_blame <blame4 >result &&\n'> <'\ttest_cmp expected_n result\n'> ) } ) (C {<test_expect_success>} {(SQ <'blame with showEmail config true'>)} { (SQ <'\n'> <'\tgit config blame.showEmail true &&\n'> <'\tgit blame one >blame1 &&\n'> <'\tfind_blame <blame1 >result &&\n'> <'\ttest_cmp expected_e result &&\n'> <'\tgit blame --no-show-email one >blame2 &&\n'> <'\tfind_blame <blame2 >result &&\n'> <'\ttest_cmp expected_n result\n'> ) } ) (C {<test_done>}) ] )