(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git column'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (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'>
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[95])
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {('one\n') ('two\n') ('three\n') ('four\n') ('five\n') ('six\n') ('seven\n') ('eight\n') 
              ('nine\n') ('ten\n') ('eleven\n')
            }
          do_expansion: False
          here_end: EOF
          was_filled: T
          spids: [98]
        )
      ]
    )
    (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'>
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:COLUMNS) op:Equal rhs:{(20)} spids:[131])]
      spids: [131]
    )
    (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)})
  ]
)