(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: 'rebasing a commit with multi-line first paragraph.'
                  span_id: 6
                )
              )
            }
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:20) (Token id:Id.Lit_Chars val:'\n' span_id:21) 
          (Token id:Id.Lit_Chars val:'\t>file &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:23) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:25) 
          (Token id:Id.Lit_Chars val:'\n' span_id:26) (Token id:Id.Lit_Chars val:'\techo hello >file &&\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:28) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -a -m "A sample commit log message that has a long\n'
            span_id: 29
          ) (Token id:Id.Lit_Chars val:'summary that spills over multiple lines.\n' span_id:30) 
          (Token id:Id.Lit_Chars val:'\n' span_id:31) (Token id:Id.Lit_Chars val:'But otherwise with a sane description." &&\n' span_id:32) 
          (Token id:Id.Lit_Chars val:'\n' span_id:33) (Token id:Id.Lit_Chars val:'\tgit branch side &&\n' span_id:34) 
          (Token id:Id.Lit_Chars val:'\n' span_id:35) (Token id:Id.Lit_Chars val:'\tgit reset --hard HEAD^ &&\n' span_id:36) 
          (Token id:Id.Lit_Chars val:'\t>elif &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\tgit add elif &&\n' span_id:38) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\tgit commit -m second\n' span_id:40) 
          (Token id:Id.Lit_Chars val:'\n' span_id:41)
        )
      }
    )
    (C {(test_expect_success)} {(rebase)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:50) (Token id:Id.Lit_Chars val:'\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\tgit checkout side &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit rebase master &&\n' span_id:53) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit HEAD | sed -e "1,/^\\$/d" >actual &&\n'
            span_id: 54
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit cat-file commit side@{1} | sed -e "1,/^\\$/d" >expect &&\n'
            span_id: 55
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:56) 
          (Token id:Id.Lit_Chars val:'\n' span_id:57)
        )
      }
    )
    (C {(test_done)})
  ]
)