On Sun, Nov 11, 2012 at 03:35:57PM +0100, Felipe Contreras wrote: > Lots of duplicated code! > > No functional changes. > > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > --- > t/t9902-completion.sh | 76 ++++++++++++++++++--------------------------------- > 1 file changed, 27 insertions(+), 49 deletions(-) Despite the impressive numbers, these tests are more useful without this cleanup. > diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh > index 59cdbfd..66c7af6 100755 > --- a/t/t9902-completion.sh > +++ b/t/t9902-completion.sh > @@ -71,87 +71,65 @@ test_completion () > > newline=$'\n' > > -test_expect_success '__gitcomp - trailing space - options' ' > - sed -e "s/Z$//" >expected <<-\EOF && > - --reuse-message=Z > - --reedit-message=Z > - --reset-author Z > - EOF > +# Test __gitcomp. > +# Arguments are: > +# 1: typed text so far (cur) The first argument is not the typed text so far, but the word currently containing the cursor position. > +# *: arguments to pass to __gitcomp > +test_gitcomp () > +{ > + sed -e 's/Z$//' > expected && > ( > local -a COMPREPLY && > - cur="--re" && > - __gitcomp "--dry-run --reuse-message= --reedit-message= > - --reset-author" && > + cur="$1" && > + shift && > + __gitcomp "$@" && > IFS="$newline" && > echo "${COMPREPLY[*]}" > out > ) && > test_cmp expected out > +} > + > +test_expect_success '__gitcomp - trailing space - options' ' > + test_gitcomp "--re" "--dry-run --reuse-message= --reedit-message= > + --reset-author" <<-EOF > + --reuse-message=Z > + --reedit-message=Z > + --reset-author Z > + EOF > ' > > test_expect_success '__gitcomp - trailing space - config keys' ' > - sed -e "s/Z$//" >expected <<-\EOF && > + test_gitcomp "br" "branch. branch.autosetupmerge > + branch.autosetuprebase browser." <<-\EOF > branch.Z > branch.autosetupmerge Z > branch.autosetuprebase Z > browser.Z > EOF > - ( > - local -a COMPREPLY && > - cur="br" && > - __gitcomp "branch. branch.autosetupmerge > - branch.autosetuprebase browser." && > - IFS="$newline" && > - echo "${COMPREPLY[*]}" > out > - ) && > - test_cmp expected out > ' > > test_expect_success '__gitcomp - option parameter' ' > - sed -e "s/Z$//" >expected <<-\EOF && > + test_gitcomp "--strategy=re" "octopus ours recursive resolve subtree" \ > + "" "re" <<-\EOF > recursive Z > resolve Z > EOF > - ( > - local -a COMPREPLY && > - cur="--strategy=re" && > - __gitcomp "octopus ours recursive resolve subtree > - " "" "re" && > - IFS="$newline" && > - echo "${COMPREPLY[*]}" > out > - ) && > - test_cmp expected out > ' > > test_expect_success '__gitcomp - prefix' ' > - sed -e "s/Z$//" >expected <<-\EOF && > + test_gitcomp "branch.me" "remote merge mergeoptions rebase" \ > + "branch.maint." "me" <<-\EOF > branch.maint.merge Z > branch.maint.mergeoptions Z > EOF > - ( > - local -a COMPREPLY && > - cur="branch.me" && > - __gitcomp "remote merge mergeoptions rebase > - " "branch.maint." "me" && > - IFS="$newline" && > - echo "${COMPREPLY[*]}" > out > - ) && > - test_cmp expected out > ' > > test_expect_success '__gitcomp - suffix' ' > - sed -e "s/Z$//" >expected <<-\EOF && > + test_gitcomp "branch.me" "master maint next pu" "branch." \ > + "ma" "." <<-\EOF > branch.master.Z > branch.maint.Z > EOF > - ( > - local -a COMPREPLY && > - cur="branch.me" && > - __gitcomp "master maint next pu > - " "branch." "ma" "." && > - IFS="$newline" && > - echo "${COMPREPLY[*]}" > out > - ) && > - test_cmp expected out > ' > > test_expect_success 'basic' ' > -- > 1.8.0 > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html