(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (= scope= flags=0 words=[] bindings=[('HT', {[DQ [LIT_CHARS "\t"]]})]) (= scope= flags=0 words=[] bindings=[('title', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('body', {[SQ ]})]) (FunctionDef count_expand [] (List (= scope= flags=0 words=[] bindings=[('expect', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('count', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub 1]}} {A Atom NODE_ARITH_WORD {[VarSub 2]}}}]})]) (While (Com {[LIT_CHARS test]} {[VarSub count]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (List (= scope= flags=0 words=[] bindings=[('expect', {[DQ [VarSub expect][LIT_CHARS " "]]})]) (= scope= flags=0 words=[] bindings=[('count', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub count]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Com {[LIT_CHARS shift]} {[LIT_CHARS 2]}) (= scope= flags=0 words=[] bindings=[('count', {[VarSub 1]})]) (While (Com {[LIT_CHARS test]} {[VarSub count]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]}) (List (= scope= flags=0 words=[] bindings=[('expect', {[DQ [VarSub expect][VarSub HT]]})]) (= scope= flags=0 words=[] bindings=[('count', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub count]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Com {[LIT_CHARS shift]}) (Case to_match={[DQ [LIT_CHARS " "][VarSub *][LIT_CHARS " "]]}, pat_word_list=[[{[LIT_OTHER "*"] [SQ ] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('line', {[VarSub title]})]) (= scope= flags=0 words=[] bindings=[('line', {[VarSub body]})]) ) (Pipeline (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git show -s "][VarSub *]]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub expect][VarSub line]]}) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) ) (Pipeline (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "git show -s "][VarSub *]]}) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS show]} {[LIT_CHARS -s]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS /][VarSub line][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS /p]]}) ) ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS actual]} "> 1), > ) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect]} {[LIT_CHARS actual]}) ) ) (FunctionDef test_expand [] (List (= scope= flags=0 words=[] bindings=[('fmt', {[VarSub 1]})]) (Case to_match={[DQ [VarSub fmt]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER "="] [LIT_CHARS raw]}, {[LIT_OTHER "*"] [LIT_OTHER "="] [LIT_CHARS short]}, {[LIT_OTHER "*"] [LIT_OTHER "="] [LIT_CHARS email]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('default', {[DQ [LIT_CHARS "0 1"]]})]) (= scope= flags=0 words=[] bindings=[('default', {[DQ [LIT_CHARS "8 0"]]})]) ) (Case to_match={[DQ [VarSub fmt]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_OTHER "="] [LIT_CHARS email]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('in', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('in', {[LIT_CHARS 4]})]) ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS expand/no-expand][VarSub fmt test_op=VS_TEST_COLON_PLUS {[LIT_CHARS " for "] [VarSub fmt]}]]} {[SQ ]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ msg &&\n"> ]}) (Com {[LIT_CHARS test_expand]} {[DQ ]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS short]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS medium]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS full]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS fuller]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS raw]}) (Com {[LIT_CHARS test_expand]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS email]}) (Com {[LIT_CHARS test_done]}) )