(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'Quoting paths in diff output.\n'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'P0='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'P0='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'P0='> name:P0)
          op: assign_op.Equal
          rhs: {(SQ <pathname>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'P1='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'P1='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'P1='> name:P1)
          op: assign_op.Equal
          rhs: {(SQ <'pathname\twith HT'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'P2='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'P2='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'P2='> name:P2)
          op: assign_op.Equal
          rhs: {(SQ <'pathname with SP'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'P3='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'P3='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'P3='> name:P3)
          op: assign_op.Equal
          rhs: {(SQ <'pathname\n'> <'with LF'>)}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <test_have_prereq>
          more_env: []
          words: [{<test_have_prereq>} {<Id.KW_Bang '!'> <MINGW>}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <echo>
          more_env: []
          words: [{<echo>}]
          redirects: [
            (Redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})
            (Redir
              op: <Id.Redir_Great '>'>
              loc: (redir_loc.Fd fd:1)
              arg: {(DQ ($ Id.VSub_DollarName P1))}
            )
          ]
          do_fork: T
        )
        (command.Simple
          blame_tok: <test>
          more_env: []
          words: [{<test>} {<-f>} {(DQ ($ Id.VSub_DollarName P1))}]
          redirects: []
          do_fork: T
        )
        (command.Simple
          blame_tok: <rm>
          more_env: []
          words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName P1))}]
          redirects: []
          do_fork: T
        )
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'skip_all='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'skip_all='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'skip_all='> name:skip_all)
                  op: assign_op.Equal
                  rhs: {(SQ <'Your filesystem does not allow tabs in filenames'>)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <test_done>
              more_env: []
              words: [{<test_done>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
      ]
      ops: [<Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DAmp _> <Id.Op_DPipe _>]
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<setup>}
        {
          (SQ <'\n'> <'\techo P0.0 >"$P0.0" &&\n'> <'\techo P0.1 >"$P0.1" &&\n'> 
            <'\techo P0.2 >"$P0.2" &&\n'> <'\techo P0.3 >"$P0.3" &&\n'> <'\techo P1.0 >"$P1.0" &&\n'> <'\techo P1.2 >"$P1.2" &&\n'> 
            <'\techo P1.3 >"$P1.3" &&\n'> <'\tgit add . &&\n'> <'\tgit commit -m initial &&\n'> <'\tgit mv "$P0.0" "R$P0.0" &&\n'> 
            <'\tgit mv "$P0.1" "R$P1.0" &&\n'> <'\tgit mv "$P0.2" "R$P2.0" &&\n'> <'\tgit mv "$P0.3" "R$P3.0" &&\n'> 
            <'\tgit mv "$P1.0" "R$P0.1" &&\n'> <'\tgit mv "$P1.2" "R$P2.1" &&\n'> <'\tgit mv "$P1.3" "R$P3.1" &&\n'> <'\t:\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expected files'>)}
        {
          (SQ <'\n'> <'cat >expect <<\\EOF\n'> 
            <' rename pathname.1 => "Rpathname\\twith HT.0" (100%)\n'> <' rename pathname.3 => "Rpathname\\nwith LF.0" (100%)\n'> 
            <' rename "pathname\\twith HT.3" => "Rpathname\\nwith LF.1" (100%)\n'> <' rename pathname.2 => Rpathname with SP.0 (100%)\n'> 
            <' rename "pathname\\twith HT.2" => Rpathname with SP.1 (100%)\n'> <' rename pathname.0 => Rpathname.0 (100%)\n'> 
            <' rename "pathname\\twith HT.0" => Rpathname.1 (100%)\n'> <'EOF\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --summary -M HEAD'>)}
        {(SQ <'\n'> <'\tgit diff --summary -M HEAD >actual &&\n'> <'\ttest_cmp expect actual\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --numstat -M HEAD'>)}
        {
          (SQ <'\n'> <'\tcat >expect <<-\\EOF &&\n'> 
            <'\t0\t0\tpathname.1 => "Rpathname\\twith HT.0"\n'> <'\t0\t0\tpathname.3 => "Rpathname\\nwith LF.0"\n'> 
            <'\t0\t0\t"pathname\\twith HT.3" => "Rpathname\\nwith LF.1"\n'> <'\t0\t0\tpathname.2 => Rpathname with SP.0\n'> 
            <'\t0\t0\t"pathname\\twith HT.2" => Rpathname with SP.1\n'> <'\t0\t0\tpathname.0 => Rpathname.0\n'> <'\t0\t0\t"pathname\\twith HT.0" => Rpathname.1\n'> <'\tEOF\n'> 
            <'\tgit diff --numstat -M HEAD >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --stat -M HEAD'>)}
        {
          (SQ <'\n'> <'\tcat >expect <<-\\EOF &&\n'> 
            <'\t pathname.1 => "Rpathname\\twith HT.0"            | 0\n'> <'\t pathname.3 => "Rpathname\\nwith LF.0"            | 0\n'> 
            <'\t "pathname\\twith HT.3" => "Rpathname\\nwith LF.1" | 0\n'> <'\t pathname.2 => Rpathname with SP.0               | 0\n'> 
            <'\t "pathname\\twith HT.2" => Rpathname with SP.1    | 0\n'> <'\t pathname.0 => Rpathname.0                       | 0\n'> 
            <'\t "pathname\\twith HT.0" => Rpathname.1            | 0\n'> <'\t 7 files changed, 0 insertions(+), 0 deletions(-)\n'> <'\tEOF\n'> 
            <'\tgit diff --stat -M HEAD >actual &&\n'> <'\ttest_i18ncmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)