(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id:Id.Lit_Chars val:'More rename detection tests.\n' span_id:15) (Token id:Id.Lit_Chars val:'\n' span_id:16) (Token id: Id.Lit_Chars val: 'The rename detection logic should be able to detect pure rename or\n' span_id: 17 ) (Token id: Id.Lit_Chars val: 'copy of symbolic links, but should not produce rename/copy followed\n' span_id: 18 ) (Token id:Id.Lit_Chars val:'by an edit for them.\n' span_id:19) ) } spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/diff-lib.sh)}) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'prepare reference tree' span_id:41))} {(SQ (Token id:Id.Lit_Chars val:'echo xyzzy | tr -d ' span_id:47)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\\\' span_id:49)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\\\' span_id:50)) (SQ (Token id:Id.Lit_Chars val:'012 >yomin &&\n' span_id:52) (Token id:Id.Lit_Chars val:' ln -s xyzzy frotz &&\n' span_id:53) (Token id:Id.Lit_Chars val:' git update-index --add frotz yomin &&\n' span_id:54) (Token id:Id.Lit_Chars val:' tree=$(git write-tree) &&\n' span_id:55) (Token id:Id.Lit_Chars val:' echo $tree' span_id:56) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'prepare work tree' span_id:67))} { (SQ (Token id:Id.Lit_Chars val:'mv frotz rezrov &&\n' span_id:73) (Token id:Id.Lit_Chars val:' rm -f yomin &&\n' span_id:74) (Token id:Id.Lit_Chars val:' ln -s xyzzy nitfol &&\n' span_id:75) (Token id:Id.Lit_Chars val:' ln -s xzzzy bozbar &&\n' span_id:76) (Token id: Id.Lit_Chars val: ' git update-index --add --remove frotz rezrov nitfol bozbar yomin' span_id: 77 ) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'setup diff output' span_id:102))} { (DQ ('\n') (' GIT_DIFF_OPTS=--unified=0 git diff-index -C -p ') ($ Id.VSub_DollarName '$tree') (' >current &&\n') (' cat >expected <<') (Id.Lit_Other '\\') ('EOF\n') ('diff --git a/bozbar b/bozbar\n') ('new file mode 120000\n') ('--- /dev/null\n') ('+++ b/bozbar\n') ('@@ -0,0 +1 @@\n') ('+xzzzy\n') (Id.Lit_Other '\\') (' No newline at end of file\n') ('diff --git a/frotz b/nitfol\n') ('similarity index 100%\n') ('copy from frotz\n') ('copy to nitfol\n') ('diff --git a/frotz b/rezrov\n') ('similarity index 100%\n') ('rename from frotz\n') ('rename to rezrov\n') ('diff --git a/yomin b/yomin\n') ('deleted file mode 100644\n') ('--- a/yomin\n') ('+++ /dev/null\n') ('@@ -1 +0,0 @@\n') ('-xyzzy\n') (Id.Lit_Other '\\') (' No newline at end of file\n') ('EOF\n') ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'validate diff output' span_id:148))} {(SQ (Token id:Id.Lit_Chars val:'compare_diff_patch current expected' span_id:154))} ) (C {(test_done)}) ] )