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:
parent
666ca59a8c
commit
49ba92b4ea
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user