(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'Quoting paths in diff output.\n'>)} spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:P0) op: assign_op.Equal rhs: {(SQ <pathname>)} spids: [24] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:P1) op: assign_op.Equal rhs: {(SQ <'pathname\twith HT'>)} spids: [29] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:P2) op: assign_op.Equal rhs: {(SQ <'pathname with SP'>)} spids: [34] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:P3) op: assign_op.Equal rhs: {(SQ <'pathname\n'> <'with LF'>)} spids: [39] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DPipe] children: [ (C {<test_have_prereq>} {<Id.KW_Bang '!'> <MINGW>}) (command.Simple 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 ) (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$P1'))}) (C {<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName '$P1'))}) (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:skip_all) op: assign_op.Equal rhs: {(SQ <'Your filesystem does not allow tabs in filenames'>)} spids: [87] ) ] ) (C {<test_done>}) ] ) ] ) (C {<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'> ) } ) (C {<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'> ) } ) (C {<test_expect_success>} {(SQ <'git diff --summary -M HEAD'>)} {(SQ <'\n'> <'\tgit diff --summary -M HEAD >actual &&\n'> <'\ttest_cmp expect actual\n'>)} ) (C {<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'> ) } ) (C {<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'> ) } ) (C {<test_done>}) ] )