(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'test show-branch with more than 8 heads'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:numbers)
          op: Equal
          rhs: {(DQ ('1 2 3 4 5 6 7 8 9 10'))}
        )
      ]
    )
    (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.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expect)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          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')
          ]
        )
      ]
    )
    (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)})
  ]
)