(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:'--reverse combines with --parents' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShFunction name: commit body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (C {(test_tick)}) (command.Simple words: [{(echo)} {($ Id.VSub_Number '$1')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:33) fd: -1 arg_word: {(foo)} ) ] ) (C {(git)} {(add)} {(foo)}) (C {(git)} {(commit)} {(-m)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'set up --reverse example' span_id:65))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id:Id.Lit_Chars val:'\tcommit one &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\tgit tag root &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tcommit two &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\tgit checkout -b side HEAD^ &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\tcommit three &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\tgit merge -s ours side &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\tcommit five\n' span_id:77) (Token id:Id.Lit_Chars val:'\t' span_id:78) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: '--reverse --parents --full-history combines correctly' span_id: 85 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:89) (Token id: Id.Lit_Chars val: '\tgit rev-list --parents --full-history master -- foo |\n' span_id: 90 ) (Token id:Id.Lit_Chars val:'\t\tperl -e "print reverse <>" > expected &&\n' span_id:91) (Token id: Id.Lit_Chars val: '\tgit rev-list --reverse --parents --full-history master -- foo \\\n' span_id: 92 ) (Token id:Id.Lit_Chars val:'\t\t> actual &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\ttest_cmp actual expected\n' span_id:94) (Token id:Id.Lit_Chars val:'\t' span_id:95) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'--boundary does too' span_id:102))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:106) (Token id: Id.Lit_Chars val: '\tgit rev-list --boundary --parents --full-history master ^root -- foo |\n' span_id: 107 ) (Token id:Id.Lit_Chars val:'\t\tperl -e "print reverse <>" > expected &&\n' span_id:108) (Token id: Id.Lit_Chars val: '\tgit rev-list --boundary --reverse --parents --full-history \\\n' span_id: 109 ) (Token id:Id.Lit_Chars val:'\t\tmaster ^root -- foo > actual &&\n' span_id:110) (Token id:Id.Lit_Chars val:'\ttest_cmp actual expected\n' span_id:111) (Token id:Id.Lit_Chars val:'\t' span_id:112) ) } ) (C {(test_done)}) ] )