(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:-1 arg_word:{(expected)} spids:[95])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          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: True
          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)})
  ]
)