(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'git blame'>)} ) ] ) (C {(.)} {(./test-lib.sh)}) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:PROG) op:Equal rhs:{(SQ <'git blame -c'>)})] ) (C {(.)} {(DQ ($ 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.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:PROG) op:Equal rhs:{(SQ <'git blame -c -e'>)})] ) (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.FuncDef name: find_blame body: (command.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)}) ] )