diff options
author | Crestez Dan Leonard <cdleonard@gmail.com> | 2010-02-09 15:45:40 +0200 |
---|---|---|
committer | Crestez Dan Leonard <cdleonard@gmail.com> | 2010-02-09 15:45:40 +0200 |
commit | ebdd9cefdc33a80aa51192df66e24616ddb4a9b2 (patch) | |
tree | dae105077f38b49a52da84b6d20e523f20fb2c88 | |
parent | 6b30acc9ac24a2bf9650499da7d805ad5cf4fea8 (diff) | |
parent | aac11de466f9a22312329e91769d0c84ae347407 (diff) | |
download | bash-completion-ebdd9cefdc33a80aa51192df66e24616ddb4a9b2.tar.gz |
Merge branch 'space-fix': Fix tests when BASH_COMPLETION or TESTDIR contain
spaces.
Conflicts:
CHANGES
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | bash_completion | 12 | ||||
-rw-r--r-- | contrib/mount | 2 | ||||
-rw-r--r-- | test/lib/completions/scp.exp | 2 | ||||
-rw-r--r-- | test/lib/completions/screen.exp | 2 | ||||
-rw-r--r-- | test/lib/completions/sftp.exp | 2 | ||||
-rw-r--r-- | test/lib/completions/ssh.exp | 4 | ||||
-rw-r--r-- | test/lib/library.exp | 12 | ||||
-rw-r--r-- | test/unit/compgen.exp | 2 |
9 files changed, 20 insertions, 19 deletions
@@ -69,6 +69,7 @@ bash-completion (2.x) * Fix NFS mounts completion (Alioth: #312285). * Fix completion of usernames (Alioth: #311396, Debian: #511788). * Fix chown test crashing on systems with no root group (Alioth: #312306). + * Fixed tests when BASH_COMPLETION or TESTDIR contain spaces. [ Raphaƫl Droz ] * Add xsltproc completion (Alioth: #311843). diff --git a/bash_completion b/bash_completion index 84f9bd07..904a8be2 100644 --- a/bash_completion +++ b/bash_completion @@ -1810,7 +1810,7 @@ _filedir_xspec() # get first exclusion compspec that matches this command xspec=$( awk "/^complete[ \t]+.*[ \t]${1##*/}([ \t]|\$)/ { print \$0; exit }" \ - $BASH_COMPLETION ) + "$BASH_COMPLETION" ) # prune to leave nothing but the -X spec xspec=${xspec#*-X } xspec=${xspec%% *} @@ -1837,7 +1837,7 @@ _filedir_xspec() COMPREPLY=( "${toks[@]}" ) } -list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' $BASH_COMPLETION | \ +list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' "$BASH_COMPLETION" | \ # read exclusion compspecs ( while read line @@ -1863,19 +1863,19 @@ unset list # source completion directory definitions if [[ -d $BASH_COMPLETION_COMPAT_DIR && -r $BASH_COMPLETION_COMPAT_DIR && \ -x $BASH_COMPLETION_COMPAT_DIR ]]; then - for i in $(LC_ALL=C command ls $BASH_COMPLETION_COMPAT_DIR); do + for i in $(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR"); do i=$BASH_COMPLETION_COMPAT_DIR/$i [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \ - && ( -f $i || -h $i ) && -r $i ]] && . $i + && ( -f $i || -h $i ) && -r $i ]] && . "$i" done fi if [[ $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR && \ -d $BASH_COMPLETION_DIR && -r $BASH_COMPLETION_DIR && \ -x $BASH_COMPLETION_DIR ]]; then - for i in $(LC_ALL=C command ls $BASH_COMPLETION_DIR); do + for i in $(LC_ALL=C command ls "$BASH_COMPLETION_DIR"); do i=$BASH_COMPLETION_DIR/$i [[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \ - && ( -f $i || -h $i ) && -r $i ]] && . $i + && ( -f $i || -h $i ) && -r $i ]] && . "$i" done fi unset i diff --git a/contrib/mount b/contrib/mount index d8ba81bc..1f0d8a4a 100644 --- a/contrib/mount +++ b/contrib/mount @@ -17,7 +17,7 @@ _mount() [[ "$cur" == \\ ]] && cur="/" if [[ "$cur" == *:* ]]; then - for sm in $(type -P showmount) {,/usr}/{,s}bin/showmount; do + for sm in "$(type -P showmount)" {,/usr}/{,s}bin/showmount; do [ -x "$sm" ] || continue COMPREPLY=( $( compgen -W "$( "$sm" -e ${cur%%:*} | \ awk 'NR>1 {print $1}' )" -- "${cur#*:}" ) ) diff --git a/test/lib/completions/scp.exp b/test/lib/completions/scp.exp index 4203b5ef..efe2b686 100644 --- a/test/lib/completions/scp.exp +++ b/test/lib/completions/scp.exp @@ -112,7 +112,7 @@ if {[match_items [lsort -unique $expected] $test]} { if {[lindex $::BASH_VERSINFO 0] >= 4} {xfail "$test"} {fail "$test"} }; # if sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} sync_after_int diff --git a/test/lib/completions/screen.exp b/test/lib/completions/screen.exp index 53e94b18..62c57362 100644 --- a/test/lib/completions/screen.exp +++ b/test/lib/completions/screen.exp @@ -42,7 +42,7 @@ expect { default { unresolved "$test" } }; # expect sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} diff --git a/test/lib/completions/sftp.exp b/test/lib/completions/sftp.exp index 59faaabf..24c37cb5 100644 --- a/test/lib/completions/sftp.exp +++ b/test/lib/completions/sftp.exp @@ -71,7 +71,7 @@ expect { default { unresolved "$test" } }; # expect sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} teardown diff --git a/test/lib/completions/ssh.exp b/test/lib/completions/ssh.exp index 2bec70c1..91955c1d 100644 --- a/test/lib/completions/ssh.exp +++ b/test/lib/completions/ssh.exp @@ -29,7 +29,7 @@ expect { default { unresolved "$test" } }; # expect sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} sync_after_int @@ -84,7 +84,7 @@ expect { default { unresolved "$test" } }; # expect sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} sync_after_int diff --git a/test/lib/library.exp b/test/lib/library.exp index 0092f3fb..00dd8469 100644 --- a/test/lib/library.exp +++ b/test/lib/library.exp @@ -102,7 +102,7 @@ proc assert_bash_list_dir {expected cmd dir {test ""} {prompt /@} {size 20}} { assert_bash_exec "cd $dir" "" $prompt assert_bash_list $expected $cmd $test $prompt $size sync_after_int $prompt - assert_bash_exec "cd \$TESTDIR" + assert_bash_exec {cd "$TESTDIR"} }; # assert_bash_list_dir() @@ -272,7 +272,7 @@ proc assert_complete_dir {expected cmd dir {test ""} {size 20} {cword ""}} { assert_bash_exec "cd $dir" "" $prompt assert_complete $expected $cmd $test $prompt $size $cword sync_after_int $prompt - assert_bash_exec "cd \$TESTDIR" + assert_bash_exec {cd "$TESTDIR"} }; # assert_complete_dir @@ -692,16 +692,16 @@ proc save_env {{file ""}} { # @param string File to save the environment to. Default is "$TESTDIR/tmp/env1~". # @see assert_env_unmodified() proc _save_env {{file ""}} { - assert_bash_exec "{ set; declare -F; shopt -p; } > $file" + assert_bash_exec "{ set; declare -F; shopt -p; } > \"$file\"" }; # _save_env() # Source bash_completion package proc source_bash_completion {} { - assert_bash_exec {BASH_COMPLETION_DIR=$(cd $TESTDIR/..; pwd)/contrib} + assert_bash_exec {BASH_COMPLETION_DIR=$(cd "$TESTDIR/.."; pwd)/contrib} assert_bash_exec {BASH_COMPLETION_COMPAT_DIR=$BASH_COMPLETION_DIR} - assert_bash_exec {BASH_COMPLETION=$(cd $TESTDIR/..; pwd)/bash_completion} - assert_bash_exec {source $BASH_COMPLETION} + assert_bash_exec {BASH_COMPLETION=$(cd "$TESTDIR/.."; pwd)/bash_completion} + assert_bash_exec {source "$BASH_COMPLETION"} }; # source_bash_completion() diff --git a/test/unit/compgen.exp b/test/unit/compgen.exp index 8c33c414..6673bf0e 100644 --- a/test/unit/compgen.exp +++ b/test/unit/compgen.exp @@ -41,7 +41,7 @@ expect { -re eof { unresolved "eof" } }; # expect sync_after_int $prompt -assert_bash_exec "cd \$TESTDIR" +assert_bash_exec {cd "$TESTDIR"} #assert_bash_list_dir {a\\\'b/c} $cmd fixtures/compgen |