Re: [PATCH 2/5] completion: fix args of run_completion() test helper
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Sep 28, 2012, 18:38 UTC
- Message-ID
- <20120928183840.GB10719@goldbirke>
- In-Reply-To
- <7vehlmm3ca.fsf@alter.siamese.dyndns.org>
On Fri, Sep 28, 2012 at 11:04:05AM -0700, Junio C Hamano wrote:
> SZEDER Gábor <szeder@ira.uka.de> writes: > > > To simulate the the user hit 'git <TAB>, one of the completion tests
s/the the/that the/
Show 43 quoted lines
> > sets up the rather strange command line
> >
> > git ""
> >
> > i.e. the second word on the command line consists of two double
> > quotes. However, this is not what happens for real, because after
> > 'git <TAB>' the second word on the command line is just an empty
> > string. Luckily, the test works nevertheless.
> >
> > Fix this by passing the command line to run_completion() as separate
> > words.
> >
> > Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
> > ---
> > t/t9902-completion.sh | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh
> > index e7657537..f5e68834 100755
> > --- a/t/t9902-completion.sh
> > +++ b/t/t9902-completion.sh
> > @@ -49,7 +49,7 @@ run_completion ()
> > {
> > local -a COMPREPLY _words
> > local _cword
> > - _words=( $1 )
> > + _words=( "$@" )
> > (( _cword = ${#_words[@]} - 1 ))
> > __git_wrap__git_main && print_comp
> > }
> > @@ -57,7 +57,7 @@ run_completion ()
> > test_completion ()
> > {
> > test $# -gt 1 && echo "$2" > expected
> > - run_completion "$@" &&
> > + run_completion $1 &&
> > test_cmp expected out
> > }
>
> I can understand the other three hunks, but this one is fishy.
> Shouldn't "$1" be inside a pair of dq? I.e.
>
> + run_completion "$1" &&No. $1 holds all words on the command line. If it was between a pair of dq, then the whole command line would be passed to the completion script as a single word.
Show 18 quoted lines
> > > > @@ -147,7 +147,7 @@ test_expect_success '__gitcomp - suffix' ' > > ' > > > > test_expect_success 'basic' ' > > - run_completion "git \"\"" && > > + run_completion git "" && > > # built-in > > grep -q "^add \$" out && > > # script > > @@ -155,7 +155,7 @@ test_expect_success 'basic' ' > > # plumbing > > ! grep -q "^ls-files \$" out && > > > > - run_completion "git f" && > > + run_completion git f && > > ! grep -q -v "^f" out > > '