t9902: add a few basic completion tests

We were not testing ref or tree completion at all. Let's
give them even basic sanity checks to avoid regressions.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2012-09-26 17:47:51 -04:00 committed by Junio C Hamano
parent 666ca59a8c
commit 49ba92b4ea

View File

@ -61,6 +61,15 @@ test_completion ()
test_cmp expected out
}
# Like test_completion, but reads expectation from stdin,
# which is convenient when it is multiline. We also process "_" into
# spaces to make test vectors more readable.
test_completion_long ()
{
tr _ " " >expected &&
test_completion "$1"
}
newline=$'\n'
test_expect_success '__gitcomp - trailing space - options' '
@ -228,4 +237,36 @@ test_expect_success 'general options plus command' '
test_completion "git --no-replace-objects check" "checkout "
'
test_expect_success 'setup for ref completion' '
echo content >file1 &&
echo more >file2 &&
git add . &&
git commit -m one &&
git branch mybranch &&
git tag mytag
'
test_expect_success 'checkout completes ref names' '
test_completion_long "git checkout m" <<-\EOF
master_
mybranch_
mytag_
EOF
'
test_expect_success 'show completes all refs' '
test_completion_long "git show m" <<-\EOF
master_
mybranch_
mytag_
EOF
'
test_expect_success '<ref>: completes paths' '
test_completion_long "git show mytag:f" <<-\EOF
file1_
file2_
EOF
'
test_done