git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] tests: make sure rename pretty print works

From
Antoine Pelisse <apelisse@gmail.com>
Date
Mar 6, 2013, 21:36 UTC
Message-ID
<1362605772-14639-1-git-send-email-apelisse@gmail.com>
In-Reply-To
<1362235092-16914-1-git-send-email-apelisse@gmail.com>

Add basic use cases and corner cases tests for "git diff -M --summary/stat".

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
---
list of fixes:
 - Test using diff instead of show
 (that is more consistent with commit message).
 - add extra spaces around paths
 - Use better commit messages
 - Moved to existing t4001
 t/t4001-diff-rename.sh |   54 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
diff --git a/t/t4001-diff-rename.sh b/t/t4001-diff-rename.sh
index 844277c..2f327b7 100755
--- a/t/t4001-diff-rename.sh
+++ b/t/t4001-diff-rename.sh
@@ -102,4 +102,58 @@ test_expect_success 'setup for many rename source candidates' '
 	grep warning actual.err
 '

+test_expect_success 'rename pretty print with nothing in common' '
+	mkdir -p a/b/ &&
+	: >a/b/c &&
+	git add a/b/c &&
+	git commit -m "create a/b/c" &&
+	mkdir -p c/b/ &&
+	git mv a/b/c c/b/a &&
+	git commit -m "a/b/c -> c/b/a" &&
+	git diff -M --summary HEAD^ HEAD >output &&
+	test_i18ngrep " a/b/c => c/b/a " output &&
+	git diff -M --stat HEAD^ HEAD >output &&
+	test_i18ngrep " a/b/c => c/b/a " output
+'
+
+test_expect_success 'rename pretty print with common prefix' '
+	mkdir -p c/d &&
+	git mv c/b/a c/d/e &&
+	git commit -m "c/b/a -> c/d/e" &&
+	git diff -M --summary HEAD^ HEAD >output &&
+	test_i18ngrep " c/{b/a => d/e} " output &&
+	git diff -M --stat HEAD^ HEAD >output &&
+	test_i18ngrep " c/{b/a => d/e} " output
+'
+
+test_expect_success 'rename pretty print with common suffix' '
+	mkdir d &&
+	git mv c/d/e d/e &&
+	git commit -m "c/d/e -> d/e" &&
+	git diff -M --summary HEAD^ HEAD >output &&
+	test_i18ngrep " {c/d => d}/e " output &&
+	git diff -M --stat HEAD^ HEAD >output &&
+	test_i18ngrep " {c/d => d}/e " output
+'
+
+test_expect_success 'rename pretty print with common prefix and suffix' '
+	mkdir d/f &&
+	git mv d/e d/f/e &&
+	git commit -m "d/e -> d/f/e" &&
+	git diff -M --summary HEAD^ HEAD >output &&
+	test_i18ngrep " d/{ => f}/e " output &&
+	git diff -M --stat HEAD^ HEAD >output &&
+	test_i18ngrep " d/{ => f}/e " output
+'
+
+test_expect_success 'rename pretty print common prefix and suffix overlap' '
+	mkdir d/f/f &&
+	git mv d/f/e d/f/f/e &&
+	git commit -m "d/f/e d/f/f/e" &&
+	git diff -M --summary HEAD^ HEAD >output &&
+	test_i18ngrep " d/f/{ => f}/e " output &&
+	git diff -M --stat HEAD^ HEAD >output &&
+	test_i18ngrep " d/f/{ => f}/e " output
+'
+
 test_done
--
1.7.9.5
Previous: Junio C HamanoNext: Junio C Hamano
Message 12 of 16 in “diff: Fix rename pretty-print when suffix and prefix overlap”
  1. diff: Fix rename pretty-print when suffix and prefix overlapAntoine Pelisse, Feb 23, 2013
  2. Junio C HamanoFeb 24, 2013
  3. Antoine PelisseFeb 25, 2013
  4. Philip OakleyFeb 25, 2013
  5. Antoine PelisseFeb 25, 2013
  6. diff: Fix rename pretty-print when suffix and prefix overlapAntoine Pelisse, Feb 28, 2013
  7. Thomas RastFeb 28, 2013
  8. Antoine PelisseFeb 28, 2013
  9. Junio C HamanoFeb 28, 2013
  10. tests: make sure rename pretty print worksAntoine Pelisse, Mar 2, 2013
  11. Junio C HamanoMar 3, 2013
  12. tests: make sure rename pretty print worksAntoine Pelisse, Mar 6, 2013
  13. Junio C HamanoMar 6, 2013
  14. diff: prevent pprint_rename from underrunning inputThomas Rast, Feb 26, 2013
  15. Junio C HamanoFeb 26, 2013
  16. Antoine PelisseFeb 27, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.