From: Junio C Hamano Date: Fri, 16 Nov 2012 19:13:52 GMT Subject: Re: [PATCH v2 5/6] completion: refactor __gitcomp related tests Message-ID: <7v8va1mkcv.fsf@alter.siamese.dyndns.org> In-Reply-To: <1352644558-9410-6-git-send-email-felipe.contreras@gmail.com> Not asking for a re-roll but am asking for clarification so that I can locally update before queuing. Felipe Contreras writes: > Lots of duplicated code! ... removed, you mean? > No functional changes. > > Signed-off-by: Felipe Contreras > --- > t/t9902-completion.sh | 76 ++++++++++++++++++--------------------------------- > 1 file changed, 27 insertions(+), 49 deletions(-) > > 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) > +# *: arguments to pass to __gitcomp s/\*/remainder/, perhaps? I think you shift $1 out and do not pass it to __gitcomp. And expected output is from the standard input just like test_completion? > +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 > ' Nice shrinkage.