(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./lib-bash.sh]}) (FunctionDef complete [] (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) (= scope= flags=0 words=[] bindings=[('GIT_TESTING_COMMAND_COMPLETION', {[SQ ]})]) (Com {[LIT_CHARS .]} {[DQ [VarSub GIT_BUILD_DIR][LIT_CHARS /contrib/completion/git-completion.bash]]}) (FunctionDef _get_comp_words_by_ref [] (While (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS cur]}], [{[LIT_CHARS prev]}], [{[LIT_CHARS words]}], [{[LIT_CHARS cword]}]] (= scope= flags=0 words=[] bindings=[('cur', {[VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub _cword]}})]})]) (= scope= flags=0 words=[] bindings=[('prev', {[VarSub _words bracket_op=(Index {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub _cword]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}})]})]) (= scope= flags=0 words=[] bindings=[('words', {[Array {[DQ [VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (= scope= flags=0 words=[] bindings=[('cword', {[VarSub _cword]})]) ) (Com {[LIT_CHARS shift]}) ) ) ) (FunctionDef print_comp [] (List (= scope= flags=0 words=[] bindings=[('IFS', {[SQ ]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub COMPREPLY bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_STAR "*"}})]]} < (FilenameRedirectNode filename={[LIT_CHARS out]} "> 1), > ) ) ) (FunctionDef run_completion [] (List (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS COMPREPLY]}, {[LIT_CHARS _words]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS _cword]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('_words', {[Array {[VarSub 1]}]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[DQ [VarSub 1 transform_ops=[Slice {A1 NODE_UNARY_MINUS {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}} } None]]]} {[LIT_OTHER "="]} {[SQ ]}) (Com {[LIT_CHARS _words] [LIT_OTHER "["] [VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]] [LIT_OTHER "+"] [LIT_CHARS 1] [LIT_OTHER "]"] [LIT_OTHER "="] [SQ ]}) ) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub _cword]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (AndOr OP_AND_IF (Com {[LIT_CHARS __git_wrap__git_main]}) (Com {[LIT_CHARS print_comp]}) ) ) ) (FunctionDef test_completion [] (AndOr OP_AND_IF (If (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 1]}) (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub 2]]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) (ElseTrue) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS run_completion]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS out]}) ) ) ) (FunctionDef test_gitcomp [] (AndOr OP_AND_IF (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS COMPREPLY]}] bindings=[]) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('cur', {[DQ [VarSub 1]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Com {[LIT_CHARS __gitcomp]} {[DQ [VarSub @]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS print_comp]}) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS out]}) ) ) ) ) ) ) ) (FunctionDef test_gitcomp_nl [] (AndOr OP_AND_IF (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS COMPREPLY]}] bindings=[]) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('cur', {[DQ [VarSub 1]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Com {[LIT_CHARS __gitcomp_nl]} {[DQ [VarSub @]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS print_comp]}) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS out]}) ) ) ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('invalid_variable_name', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('actual', {[DQ [VarSub TRASH_DIRECTORY][LIT_CHARS /actual]]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef pwd_P_W [] (If (Com {[LIT_CHARS test_have_prereq]} {[LIT_CHARS MINGW]}) (Com {[LIT_CHARS pwd]} {[LIT_CHARS -W]}) (ElseTrue) (Com {[LIT_CHARS pwd]} {[LIT_CHARS -P]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> subdir/.git &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> subdir/.git &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ expected &&\n"> \"$actual\"\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS -d]} {[DQ ]} {[LIT_CHARS refs]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "maint\n"] [LIT_CHARS "master\n"] [LIT_CHARS "next\n"] [LIT_CHARS "pu\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<-EOF &&\n"> .git/remotes/remote_from_file_1 &&\n"> .git/remotes/remote_from_file_2 &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<-EOF &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<-EOF &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect <<-EOF &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file1 &&\n"> file2 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ : completes paths">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \"name with spaces\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \"name with \\${meta}\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .gitignore &&\n"> > .gitignore &&\n"> modified &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "completion uses completion for alias: !sh -c 'git ...'"]]} {[SQ ] [DQ [LIT_CHARS "'"]] [SQ ] [DQ [LIT_CHARS "'"]] [SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ completion for alias: !f () { VAR=val git ... }">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ completion for alias: !f() { : git ; ... }">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_failure]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )