(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:'Test for "git log --decorate" colors' span_id:15))} spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShFunction name: get_color body: (command.BraceGroup children: [ (C {(git)} {(config)} {(--get-color)} {(no.such.slot)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) (C {(test_expect_success)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:52) (Token id: Id.Lit_Chars val: '\tgit config diff.color.commit yellow &&\n' span_id: 53 ) (Token id:Id.Lit_Chars val:'\tgit config color.decorate.branch green &&\n' span_id:54) (Token id: Id.Lit_Chars val: '\tgit config color.decorate.remoteBranch red &&\n' span_id: 55 ) (Token id:Id.Lit_Chars val:'\tgit config color.decorate.tag "reverse bold yellow" &&\n' span_id:56) (Token id: Id.Lit_Chars val: '\tgit config color.decorate.stash magenta &&\n' span_id: 57 ) (Token id:Id.Lit_Chars val:'\tgit config color.decorate.HEAD cyan &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\n' span_id:59) (Token id:Id.Lit_Chars val:'\tc_reset=$(get_color reset) &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\n' span_id:61) (Token id:Id.Lit_Chars val:'\tc_commit=$(get_color yellow) &&\n' span_id:62) (Token id:Id.Lit_Chars val:'\tc_branch=$(get_color green) &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\tc_remoteBranch=$(get_color red) &&\n' span_id:64) (Token id: Id.Lit_Chars val: '\tc_tag=$(get_color "reverse bold yellow") &&\n' span_id: 65 ) (Token id:Id.Lit_Chars val:'\tc_stash=$(get_color magenta) &&\n' span_id:66) (Token id:Id.Lit_Chars val:'\tc_HEAD=$(get_color cyan) &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\n' span_id:68) (Token id:Id.Lit_Chars val:'\ttest_commit A &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\tgit clone . other &&\n' span_id:70) (Token id:Id.Lit_Chars val:'\t(\n' span_id:71) (Token id:Id.Lit_Chars val:'\t\tcd other &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\ttest_commit A1\n' span_id:73) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\n' span_id:75) (Token id:Id.Lit_Chars val:'\tgit remote add -f other ./other &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\ttest_commit B &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\tgit tag v1.0 &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\techo >>A.t &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\tgit stash save Changes to A.t\n' span_id:80) ) } ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:86) fd: -1 arg_word: {(expected)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:89) fd: -1 here_begin: {(EOF)} here_end_span_id: 267 stdin_parts: [ (${ Id.VSub_Name c_commit) (COMMIT_ID) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (' (') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_HEAD) ('HEAD ->') (' ') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_branch) (master) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (',') (' ') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) ('tag: v1.0') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (',') (' ') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) ('tag: B') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (')') (${ Id.VSub_Name c_reset) (' B\n') (${ Id.VSub_Name c_commit) (COMMIT_ID) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (' (') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) ('tag: A1') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (',') (' ') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_remoteBranch) (other/master) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (')') (${ Id.VSub_Name c_reset) (' A1\n') (${ Id.VSub_Name c_commit) (COMMIT_ID) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (' (') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_stash) (refs/stash) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (')') (${ Id.VSub_Name c_reset) (' On master: Changes to A.t\n') (${ Id.VSub_Name c_commit) (COMMIT_ID) (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (' (') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_tag) ('tag: A') (${ Id.VSub_Name c_reset) (${ Id.VSub_Name c_commit) (')') (${ Id.VSub_Name c_reset) (' A\n') ] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'Commit Decorations Colored Correctly' span_id:278))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:282) (Token id: Id.Lit_Chars val: '\tgit log --first-parent --abbrev=10 --all --decorate --oneline --color=always |\n' span_id: 283 ) (Token id:Id.Lit_Chars val:'\tsed "s/[0-9a-f]\\{10,10\\}/COMMIT_ID/" >out &&\n' span_id:284) (Token id:Id.Lit_Chars val:'\ttest_cmp expected out\n' span_id:285) ) } ) (C {(test_done)}) ] )