(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file1 &&\n"> subdir/file2 &&\n"> ]} ) (FunctionDef check_diff [] (List (= scope= flags=0 words=[] bindings=[('expect', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "diff --git a/"][VarSub expect][LIT_CHARS " b/"][VarSub expect][LIT_CHARS "\n"][LIT_CHARS "new file mode 100644\n"][LIT_CHARS "index 0000000..25c05ef\n"][LIT_CHARS "--- /dev/null\n"][LIT_CHARS "+++ b/"][VarSub expect][LIT_CHARS "\n"][LIT_CHARS "@@ -0,0 +1 @@\n"][LIT_CHARS "+other content\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "-p "][VarSub *]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit diff -p "][VarSub *][LIT_CHARS " HEAD^ >actual &&\n"][LIT_CHARS "\ttest_cmp expected actual\n"]]} ) ) ) (FunctionDef check_numstat [] (List (= scope= flags=0 words=[] bindings=[('expect', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "1\t0\t"][VarSub expect][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--numstat "][VarSub *]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\techo '1\t0\t"][VarSub expect][LIT_CHARS "' >expected &&\n"][LIT_CHARS "\tgit diff --numstat "][VarSub *][LIT_CHARS " HEAD^ >actual &&\n"][LIT_CHARS "\ttest_cmp expected actual\n"]]} ) ) ) (FunctionDef check_stat [] (List (= scope= flags=0 words=[] bindings=[('expect', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " "][VarSub expect][LIT_CHARS " | 1 +\n"][LIT_CHARS " 1 file changed, 1 insertion(+)\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--stat "][VarSub *]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit diff --stat "][VarSub *][LIT_CHARS " HEAD^ >actual &&\n"][LIT_CHARS "\ttest_i18ncmp expected actual\n"]]} ) ) ) (FunctionDef check_raw [] (List (= scope= flags=0 words=[] bindings=[('expect', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS ":000000 100644 0000000000000000000000000000000000000000 25c05ef3639d2d270e7fe765a67668f098092bc5 A\t"][VarSub expect][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "--raw "][VarSub *]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit diff --no-abbrev --raw "][VarSub *][LIT_CHARS " HEAD^ >actual &&\n"][LIT_CHARS "\ttest_cmp expected actual\n"]]} ) ) ) (For type [{[LIT_CHARS diff]}, {[LIT_CHARS numstat]}, {[LIT_CHARS stat]}, {[LIT_CHARS raw]}]) (List (Com {[LIT_CHARS check_] [VarSub type]} {[LIT_CHARS file2]} {[LIT_CHARS --relative] [LIT_DBRACKET_LIKE "="] [LIT_CHARS subdir/]} ) (Com {[LIT_CHARS check_] [VarSub type]} {[LIT_CHARS file2]} {[LIT_CHARS --relative] [LIT_DBRACKET_LIKE "="] [LIT_CHARS subdir]} ) (Com {[LIT_CHARS check_] [VarSub type]} {[LIT_CHARS dir/file2]} {[LIT_CHARS --relative] [LIT_DBRACKET_LIKE "="] [LIT_CHARS sub]} ) ) ) (Com {[LIT_CHARS test_done]} ) )