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

[PATCH v2 1/9] completion: add file completion tests

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 27, 2013, 20:09 UTC
Message-ID
<1367093407-8898-2-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1367093407-8898-1-git-send-email-felipe.contreras@gmail.com>

The commit fea16b4 (git-completion.bash: add support for path completion) introduced quite a few changes, without the usual tests.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 t/t9902-completion.sh | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)
diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
index 6d9d141..385e1e4 100755
--- a/t/t9902-completion.sh
+++ b/t/t9902-completion.sh
@@ -347,4 +347,72 @@ test_expect_success 'send-email' '
 	test_completion "git send-email ma" "master "
 '
 
+test_expect_success 'complete files' '
+	git init tmp && cd tmp &&
+	test_when_finished "cd .. && rm -rf tmp" &&
+
+	echo "expected" > .gitignore &&
+	echo "out" >> .gitignore &&
+
+	git add .gitignore &&
+	test_completion "git commit " ".gitignore" &&
+
+	git commit -m ignore &&
+
+	touch new &&
+	test_completion "git add " "new" &&
+
+	git add new &&
+	git commit -a -m new &&
+	test_completion "git add " "" &&
+
+	git mv new modified &&
+	echo modify > modified &&
+	test_completion "git add " "modified" &&
+
+	touch untracked &&
+
+	: TODO .gitignore should not be here &&
+	test_completion "git rm " <<-\EOF &&
+	.gitignore
+	modified
+	EOF
+
+	test_completion "git clean " "untracked" &&
+
+	: TODO .gitignore should not be here &&
+	test_completion "git mv " <<-\EOF &&
+	.gitignore
+	modified
+	EOF
+
+	mkdir dir &&
+	touch dir/file-in-dir &&
+	git add dir/file-in-dir &&
+	git commit -m dir &&
+
+	mkdir untracked-dir &&
+
+	: TODO .gitignore should not be here &&
+	test_completion "git mv modified " <<-\EOF &&
+	.gitignore
+	dir
+	modified
+	untracked
+	untracked-dir
+	EOF
+
+	test_completion "git commit " "modified" &&
+
+	: TODO .gitignore should not be here &&
+	test_completion "git ls-files " <<-\EOF
+	.gitignore
+	dir
+	modified
+	EOF
+
+	touch momified &&
+	test_completion "git add mom" "momified"
+'
+
 test_done
-- 
1.8.2.1.1031.g2ee5873
Previous: Felipe ContrerasNext: Junio C Hamano
Message 2 of 15 in “completion: general cleanups”
  1. 0/9 completion: general cleanupsFelipe Contreras, Apr 27, 2013
  2. 1/9 completion: add file completion testsFelipe Contreras, Apr 27, 2013
  3. Junio C HamanoApr 27, 2013
  4. 2/9 completion: document tilde expansion failure in testsFelipe Contreras, Apr 27, 2013
  5. 3/9 completion; remove unuseful commentsFelipe Contreras, Apr 27, 2013
  6. 4/9 completion: use __gitcompadd for __gitcomp_fileFelipe Contreras, Apr 27, 2013
  7. 5/9 completion: refactor diff_index wrappersFelipe Contreras, Apr 27, 2013
  8. Junio C HamanoApr 27, 2013
  9. 6/9 completion: refactor __git_complete_index_file()Felipe Contreras, Apr 27, 2013
  10. 7/9 completion: add hack to enable file mode in bash < 4Felipe Contreras, Apr 27, 2013
  11. 8/9 completion: add space after completed filenameFelipe Contreras, Apr 27, 2013
  12. 9/9 completion: remove __git_index_file_list_filter()Felipe Contreras, Apr 27, 2013
  13. Eric SunshineApr 28, 2013
  14. Felipe ContrerasApr 28, 2013
  15. Junio C HamanoApr 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.