(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git column'>)}
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <setup>)} 
      {
        (SQ <'\n'> <'\tcat >lista <<\\EOF\n'> <'one\n'> <'two\n'> <'three\n'> <'four\n'> <'five\n'> 
          <'six\n'> <'seven\n'> <'eight\n'> <'nine\n'> <'ten\n'> <'eleven\n'> <'EOF\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <never>)} 
      {
        (SQ <'\n'> <'\tgit column --indent=Z --mode=never <lista >actual &&\n'> 
          <'\ttest_cmp lista actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <always>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'Zone\n'> <'Ztwo\n'> <'Zthree\n'> <'Zfour\n'> 
          <'Zfive\n'> <'Zsix\n'> <'Zseven\n'> <'Zeight\n'> <'Znine\n'> <'Zten\n'> <'Zeleven\n'> <'EOF\n'> 
          <'\tgit column --indent=Z --mode=plain <lista >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'80 columns'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> 
          <'one    two    three  four   five   six    seven  eight  nine   ten    eleven\n'> <'EOF\n'> <'\tCOLUMNS=80 git column --mode=column <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 113
          stdin_parts: [
            ('one\n')
            ('two\n')
            ('three\n')
            ('four\n')
            ('five\n')
            ('six\n')
            ('seven\n')
            ('eight\n')
            ('nine\n')
            ('ten\n')
            ('eleven\n')
          ]
        )
      ]
    )
    (C {(test_expect_success)} {(COLUMNS_CAN_BE_1)} {(SQ <'COLUMNS = 1'>)} 
      {
        (SQ <'\n'> <'\tCOLUMNS=1 git column --mode=column <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'width = 1'>)} 
      {
        (SQ <'\n'> <'\tgit column --mode=column --width=1 <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(lhs_expr.LhsName name:COLUMNS) op:Equal rhs:{(20)})]
    )
    (C {(export)} {(COLUMNS)})
    (C {(test_expect_success)} {(SQ <'20 columns'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one    seven\n'> <'two    eight\n'> 
          <'three  nine\n'> <'four   ten\n'> <'five   eleven\n'> <'six\n'> <'EOF\n'> 
          <'\tgit column --mode=column <lista >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, nodense'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one    seven\n'> <'two    eight\n'> 
          <'three  nine\n'> <'four   ten\n'> <'five   eleven\n'> <'six\n'> <'EOF\n'> 
          <'\tgit column --mode=column,nodense < lista > actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, dense'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one   five  nine\n'> <'two   six   ten\n'> 
          <'three seven eleven\n'> <'four  eight\n'> <'EOF\n'> <'\tgit column --mode=column,dense < lista > actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, padding 2'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one     seven\n'> <'two     eight\n'> 
          <'three   nine\n'> <'four    ten\n'> <'five    eleven\n'> <'six\n'> <'EOF\n'> 
          <'\tgit column --mode=column --padding 2 <lista >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, indented'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'  one    seven\n'> <'  two    eight\n'> 
          <'  three  nine\n'> <'  four   ten\n'> <'  five   eleven\n'> <'  six\n'> <'EOF\n'> 
          <'\tgit column --mode=column --indent="  " <lista >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, row first'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one    two\n'> <'three  four\n'> <'five   six\n'> 
          <'seven  eight\n'> <'nine   ten\n'> <'eleven\n'> <'EOF\n'> <'\tgit column --mode=row <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, row first, nodense'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one    two\n'> <'three  four\n'> <'five   six\n'> 
          <'seven  eight\n'> <'nine   ten\n'> <'eleven\n'> <'EOF\n'> <'\tgit column --mode=row,nodense <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'20 columns, row first, dense'>)} 
      {
        (SQ <'\n'> <'\tcat >expected <<\\EOF &&\n'> <'one   two    three\n'> <'four  five   six\n'> 
          <'seven eight  nine\n'> <'ten   eleven\n'> <'EOF\n'> <'\tgit column --mode=row,dense <lista >actual &&\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)