(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: 'branch --contains <commit>, --merged, and --no-merged'
                  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:'\tgit branch side &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\techo 1 >file &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:29) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -a -m "second on master" &&\n'
            span_id: 30
          ) (Token id:Id.Lit_Chars val:'\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\tgit checkout side &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\techo 1 >file &&\n' span_id:33) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:34) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "second on side" &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\n' span_id:36) (Token id:Id.Lit_Chars val:'\tgit merge master\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\n' span_id:38)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'branch --contains=master' span_id:45))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:49) (Token id:Id.Lit_Chars val:'\n' span_id:50) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --contains=master >actual &&\n'
            span_id: 51
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'\t\techo "  master" && echo "* side"\n' span_id:53) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:54) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:55) (Token id:Id.Lit_Chars val:'\n' span_id:56)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'branch --contains master' span_id:63))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:67) (Token id:Id.Lit_Chars val:'\n' span_id:68) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --contains master >actual &&\n'
            span_id: 69
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:70) 
          (Token id:Id.Lit_Chars val:'\t\techo "  master" && echo "* side"\n' span_id:71) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:73) (Token id:Id.Lit_Chars val:'\n' span_id:74)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'branch --contains=side' span_id:81))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:85) (Token id:Id.Lit_Chars val:'\n' span_id:86) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --contains=side >actual &&\n'
            span_id: 87
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:88) 
          (Token id:Id.Lit_Chars val:'\t\techo "* side"\n' span_id:89) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:90) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:91) (Token id:Id.Lit_Chars val:'\n' span_id:92)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'branch --contains with pattern implies --list' span_id:99))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:103) (Token id:Id.Lit_Chars val:'\n' span_id:104) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --contains=master master >actual &&\n'
            span_id: 105
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:106) 
          (Token id:Id.Lit_Chars val:'\t\techo "  master"\n' span_id:107) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:108) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:109) (Token id:Id.Lit_Chars val:'\n' span_id:110)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'side: branch --merged' span_id:117))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:121) (Token id:Id.Lit_Chars val:'\n' span_id:122) 
          (Token id:Id.Lit_Chars val:'\tgit branch --merged >actual &&\n' span_id:123) (Token id:Id.Lit_Chars val:'\t{\n' span_id:124) 
          (Token id:Id.Lit_Chars val:'\t\techo "  master" &&\n' span_id:125) (Token id:Id.Lit_Chars val:'\t\techo "* side"\n' span_id:126) 
          (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:127) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:128) 
          (Token id:Id.Lit_Chars val:'\n' span_id:129)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'branch --merged with pattern implies --list' span_id:136))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:140) (Token id:Id.Lit_Chars val:'\n' span_id:141) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --merged=side master >actual &&\n'
            span_id: 142
          ) (Token id:Id.Lit_Chars val:'\t{\n' span_id:143) 
          (Token id:Id.Lit_Chars val:'\t\techo "  master"\n' span_id:144) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:145) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:146) (Token id:Id.Lit_Chars val:'\n' span_id:147)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'side: branch --no-merged' span_id:154))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:158) (Token id:Id.Lit_Chars val:'\n' span_id:159) 
          (Token id:Id.Lit_Chars val:'\tgit branch --no-merged >actual &&\n' span_id:160) (Token id:Id.Lit_Chars val:'\t>expect &&\n' span_id:161) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:162) (Token id:Id.Lit_Chars val:'\n' span_id:163)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'master: branch --merged' span_id:170))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:174) (Token id:Id.Lit_Chars val:'\n' span_id:175) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:176) (Token id:Id.Lit_Chars val:'\tgit branch --merged >actual &&\n' span_id:177) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:178) (Token id:Id.Lit_Chars val:'\t\techo "* master"\n' span_id:179) 
          (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:180) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:181) 
          (Token id:Id.Lit_Chars val:'\n' span_id:182)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'master: branch --no-merged' span_id:189))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:193) (Token id:Id.Lit_Chars val:'\n' span_id:194) 
          (Token id:Id.Lit_Chars val:'\tgit branch --no-merged >actual &&\n' span_id:195) (Token id:Id.Lit_Chars val:'\t{\n' span_id:196) 
          (Token id:Id.Lit_Chars val:'\t\techo "  side"\n' span_id:197) (Token id:Id.Lit_Chars val:'\t} >expect &&\n' span_id:198) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:199) (Token id:Id.Lit_Chars val:'\n' span_id:200)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'branch --no-merged with pattern implies --list' span_id:207))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:211) (Token id:Id.Lit_Chars val:'\n' span_id:212) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --no-merged=master master >actual &&\n'
            span_id: 213
          ) (Token id:Id.Lit_Chars val:'\t>expect &&\n' span_id:214) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:215) (Token id:Id.Lit_Chars val:'\n' span_id:216)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'implicit --list conflicts with modification options'
            span_id: 223
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:227) (Token id:Id.Lit_Chars val:'\n' span_id:228) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git branch --contains=master -d &&\n'
            span_id: 229
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git branch --contains=master -m foo\n' span_id:230) 
          (Token id:Id.Lit_Chars val:'\n' span_id:231)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'branch --merged with --verbose' span_id:262))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:266) 
          (Token id:Id.Lit_Chars val:'\tgit branch --track topic master &&\n' span_id:267) (Token id:Id.Lit_Chars val:'\tgit branch zzz topic &&\n' span_id:268) 
          (Token id:Id.Lit_Chars val:'\tgit checkout topic &&\n' span_id:269) (Token id:Id.Lit_Chars val:'\ttest_commit foo &&\n' span_id:270) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit branch --merged topic >actual &&\n'
            span_id: 271
          ) (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:272) 
          (Token id:Id.Lit_Chars val:'\t  master\n' span_id:273) (Token id:Id.Lit_Chars val:'\t* topic\n' span_id:274) 
          (Token id:Id.Lit_Chars val:'\t  zzz\n' span_id:275) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:276) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:277) (Token id:Id.Lit_Chars val:'\tgit branch --verbose --merged topic >actual &&\n' span_id:278) 
          (Token id:Id.Lit_Chars val:'\tcat >expect <<-\\EOF &&\n' span_id:279) (Token id:Id.Lit_Chars val:'\t  master c77a0a9 second on master\n' span_id:280) 
          (Token id:Id.Lit_Chars val:'\t* topic  2c939f4 [ahead 1] foo\n' span_id:281) (Token id:Id.Lit_Chars val:'\t  zzz    c77a0a9 second on master\n' span_id:282) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:283) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expect actual\n' span_id:284)
        )
      }
    )
    (C {(test_done)})
  ]
)