(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'branch --contains <commit>, --merged, and --no-merged'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<test_expect_success>} {<setup>} 
      {
        (SQ <'\n'> <'\n'> <'\t>file &&\n'> <'\tgit add file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m initial &&\n'> <'\tgit branch side &&\n'> <'\n'> <'\techo 1 >file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -a -m "second on master" &&\n'> <'\n'> <'\tgit checkout side &&\n'> <'\techo 1 >file &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -a -m "second on side" &&\n'> <'\n'> <'\tgit merge master\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --contains=master'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --contains=master >actual &&\n'> <'\t{\n'> 
          <'\t\techo "  master" && echo "* side"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --contains master'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --contains master >actual &&\n'> <'\t{\n'> 
          <'\t\techo "  master" && echo "* side"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --contains=side'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --contains=side >actual &&\n'> <'\t{\n'> <'\t\techo "* side"\n'> 
          <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --contains with pattern implies --list'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --contains=master master >actual &&\n'> <'\t{\n'> 
          <'\t\techo "  master"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'side: branch --merged'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --merged >actual &&\n'> <'\t{\n'> <'\t\techo "  master" &&\n'> 
          <'\t\techo "* side"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --merged with pattern implies --list'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --merged=side master >actual &&\n'> <'\t{\n'> 
          <'\t\techo "  master"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'side: branch --no-merged'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --no-merged >actual &&\n'> <'\t>expect &&\n'> 
          <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'master: branch --merged'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit checkout master &&\n'> <'\tgit branch --merged >actual &&\n'> <'\t{\n'> 
          <'\t\techo "* master"\n'> <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'master: branch --no-merged'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --no-merged >actual &&\n'> <'\t{\n'> <'\t\techo "  side"\n'> 
          <'\t} >expect &&\n'> <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --no-merged with pattern implies --list'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit branch --no-merged=master master >actual &&\n'> <'\t>expect &&\n'> 
          <'\ttest_cmp expect actual\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'implicit --list conflicts with modification options'>)} 
      {
        (SQ <'\n'> <'\n'> <'\ttest_must_fail git branch --contains=master -d &&\n'> 
          <'\ttest_must_fail git branch --contains=master -m foo\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'branch --merged with --verbose'>)} 
      {
        (SQ <'\n'> <'\tgit branch --track topic master &&\n'> <'\tgit branch zzz topic &&\n'> 
          <'\tgit checkout topic &&\n'> <'\ttest_commit foo &&\n'> <'\tgit branch --merged topic >actual &&\n'> <'\tcat >expect <<-\\EOF &&\n'> 
          <'\t  master\n'> <'\t* topic\n'> <'\t  zzz\n'> <'\tEOF\n'> <'\ttest_cmp expect actual &&\n'> 
          <'\tgit branch --verbose --merged topic >actual &&\n'> <'\tcat >expect <<-\\EOF &&\n'> <'\t  master c77a0a9 second on master\n'> 
          <'\t* topic  2c939f4 [ahead 1] foo\n'> <'\t  zzz    c77a0a9 second on master\n'> <'\tEOF\n'> <'\ttest_i18ncmp expect actual\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)