(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id: Id.Lit_Chars val: 'ls-files --exclude does not affect index files' span_id: 6 ) ) } spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'create repo with file' span_id:17))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) (Token id:Id.Lit_Chars val:'\techo content >file &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:23) (Token id:Id.Lit_Chars val:'\tgit commit -m file &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\techo modification >file\n' span_id:25) ) } ) (command.ShFunction name: check_output body: (command.BraceGroup children: [ (C {(test_expect_success)} {(DQ ('ls-files output contains file (') ($ Id.VSub_Number '$1') (')'))} { (DQ ('\n') ("\techo '") ($ Id.VSub_Number '$2') ("' >expect &&\n") ('\tgit ls-files --exclude-standard --') ($ Id.VSub_Number '$1') (' >output &&\n') ('\ttest_cmp expect output\n') ) } ) ] ) ) (command.ShFunction name: check_all_output body: (command.BraceGroup children: [ (C {(check_output)} {(SQ (Token id:Id.Lit_Chars val:cached span_id:67))} {(SQ (Token id:Id.Lit_Chars val:file span_id:71))} ) (C {(check_output)} {(SQ (Token id:Id.Lit_Chars val:modified span_id:78))} {(SQ (Token id:Id.Lit_Chars val:file span_id:82))} ) ] ) ) (C {(check_all_output)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'add file to gitignore' span_id:93))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:97) (Token id:Id.Lit_Chars val:'\techo file >.gitignore\n' span_id:98) ) } ) (C {(check_all_output)}) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'ls-files -i lists only tracked-but-ignored files' span_id: 107 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:111) (Token id:Id.Lit_Chars val:'\techo content >other-file &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\tgit add other-file &&\n' span_id:113) (Token id:Id.Lit_Chars val:'\techo file >expect &&\n' span_id:114) (Token id:Id.Lit_Chars val:'\tgit ls-files -i --exclude-standard >output &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\ttest_cmp expect output\n' span_id:116) ) } ) (C {(test_done)}) ] )