(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'test show-branch with more than 8 heads'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:numbers)
          op: assign_op.Equal
          rhs: {(DQ <'1 2 3 4 5 6 7 8 9 10'>)}
          spids: [15]
        )
      ]
    )
    (C {<test_expect_success>} {(SQ <setup>)} 
      {
        (SQ <'\n'> <'\n'> <'\t> file &&\n'> <'\tgit add file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m initial &&\n'> <'\n'> <'\tfor i in $numbers\n'> <'\tdo\n'> <'\t\tgit checkout -b branch$i master &&\n'> 
          <'\t\t> file$i &&\n'> <'\t\tgit add file$i &&\n'> <'\t\ttest_tick &&\n'> <'\t\tgit commit -m branch$i || return 1\n'> 
          <'\tdone\n'> <'\n'>
        )
      }
    )
    (command.Simple
      words: [{<cat>}]
      redirects: [
        (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>})
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.MultiLine
              here_begin: {<EOF>}
              here_end_span_id: 80
              stdin_parts: [
                <'! [branch1] branch1\n'>
                <' ! [branch2] branch2\n'>
                <'  ! [branch3] branch3\n'>
                <'   ! [branch4] branch4\n'>
                <'    ! [branch5] branch5\n'>
                <'     ! [branch6] branch6\n'>
                <'      ! [branch7] branch7\n'>
                <'       ! [branch8] branch8\n'>
                <'        ! [branch9] branch9\n'>
                <'         * [branch10] branch10\n'>
                <'----------\n'>
                <'         * [branch10] branch10\n'>
                <'        +  [branch9] branch9\n'>
                <'       +   [branch8] branch8\n'>
                <'      +    [branch7] branch7\n'>
                <'     +     [branch6] branch6\n'>
                <'    +      [branch5] branch5\n'>
                <'   +       [branch4] branch4\n'>
                <'  +        [branch3] branch3\n'>
                <' +         [branch2] branch2\n'>
                <'+          [branch1] branch1\n'>
                <'+++++++++* [branch10^] initial\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (C {<test_expect_success>} {(SQ <'show-branch with more than 8 branches'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit show-branch $(for i in $numbers; do echo branch$i; done) > out &&\n'> 
          <'\ttest_cmp expect out\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'show-branch with showbranch.default'>)} 
      {
        (SQ <'\n'> <'\tfor i in $numbers; do\n'> <'\t\tgit config --add showbranch.default branch$i\n'> 
          <'\tdone &&\n'> <'\tgit show-branch >out &&\n'> <'\ttest_cmp expect out\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)