t9902: add completion tests for "odd" filenames
authorJeff King <peff@peff.net>
Wed, 26 Sep 2012 21:51:06 +0000 (17:51 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Sep 2012 00:25:52 +0000 (17:25 -0700)
We correctly handle completion items with spaces just fine,
since we pass the lists around with newline delimiters.
However, we do not handle filenames with shell
metacharacters, as "compgen -W" performs expansion on the
list we give it.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t9902-completion.sh

index 2fc833ad8bc446f66388c19c9877862c2361901e..cbd0fb66f93fae6bb1d9fa341aad3e48c723c0e1 100755 (executable)
@@ -269,4 +269,23 @@ test_expect_success '<ref>: completes paths' '
        EOF
 '
 
+test_expect_success 'complete tree filename with spaces' '
+       echo content >"name with spaces" &&
+       git add . &&
+       git commit -m spaces &&
+       test_completion_long "git show HEAD:nam" <<-\EOF
+       name with spaces_
+       EOF
+'
+
+test_expect_failure 'complete tree filename with metacharacters' '
+       echo content >"name with \${meta}" &&
+       git add . &&
+       git commit -m meta &&
+       test_completion_long "git show HEAD:nam" <<-\EOF
+       name with ${meta}_
+       name with spaces_
+       EOF
+'
+
 test_done